我将C#中的两个类编译为一个库,以导入到LabView项目中。
public class Upper { public sbyte Signed8 { get; set; }
public char Unicode16 { get; set; } public short Signed16 { get; set; } public int Signed32 { get; set; } public long Signed64 { get; set; }public int UpperDoSomething() { return Signed32; } }
and
public class Lower : Upper { public byte Unsigned8 { get; set; } public ushort Unsigned16 { get; set; } public uint Unsigned32 { get; set; } public ulong Unsigned64 { get; set; }
public uint LowerDoSomething() { return Unsigned32; } }
我不断收到错误1057: “类型不匹配:无法将对象强制转换为特定类型”
要避免任何人下载文件,请分析组件“到更特定的类”:
上部连接到参考类别
一个统一的下层阶级与目标阶级联系起来
属性节点连接到特定的类引用
(旁注)对于下载vi的任何人,指标都有一个属性,该属性没有松动的导线
答案 0 :(得分:0)
您正在调用Upper的构造函数,然后尝试将其转换为Lower的实例,而不是其实例。
当您通过代码将子类实例当作父类传递给子类实例,但是又进行了需要子类类型的操作时,tsc块(通常是在OOP中强制转换为子代)很有用。它必须已经被创建为子类的实例。