Labview:投射到更具体的对象时出现错误 1057

Labview: error 1057 when casting to more specific object

我在 C# 中有两个 classes 编译成一个库以导入到 LabView 项目中。

    public class 上
    {
        public sbyte Signed8 { 得到;放; }
public char Unicode16 { 得到;放; } public short Signed16 { 得到;放; } public int Signed32 { 得到;放; } public long Signed64 { 得到;放; }

    public int UpperDoSomething() { return Signed32; }
}

</p> <p>和</p> <p> public class 下 : 上 { public byte Unsigned8 { get;放; } public ushort Unsigned16 { get;放; } public uint Unsigned32 { 得到;放; } public ulong Unsigned64 { 得到;放; }</p> public uint LowerDoSomething() { return Unsigned32; } }

我不断收到错误 1057: "Type mismatch: Object cannot be cast to the specific type"

为了避免任何人下载文件,分析组件"to more specific class":

您正在调用 Upper 的构造函数,然后尝试将其转换为 Lower,但它不是其实例。

当您通过代码将子class实例作为父实例class传递给子class实例时,tsc块(通常在OOP中转换为后代)很有用,但随后有一个操作这需要 subclass 类型。不过,它必须是作为 subclass 的实例创建的。