在C#.net COM组件中使用属性
我正试图让一个C#winforms DLL作为COM组件工作 我所有的方法都可以很好地工作,但是属性不行——我得到了错误 对象引用未设置为对象的实例 下面接口中的所有属性和方法在实现它们的类中都标记为public在C#.net COM组件中使用属性,c#,vbscript,com,C#,Vbscript,Com,我正试图让一个C#winforms DLL作为COM组件工作 我所有的方法都可以很好地工作,但是属性不行——我得到了错误 对象引用未设置为对象的实例 下面接口中的所有属性和方法在实现它们的类中都标记为public [Guid("MY-GUID-IS-HERE")] public interface IMyWinformsCOMComponent { String clientID { get; } byte[] userID { get; } string languag
[Guid("MY-GUID-IS-HERE")]
public interface IMyWinformsCOMComponent
{
String clientID { get; }
byte[] userID { get; }
string language { get; set; }
int productID { get; set; }
uint version { get; }
void thisWorksFine(string key, string value);
uint getValue();
void showTheForm();
}
下面是失败的vbscript示例
WinFormsComponent
设置myWinFormsComponent=CreateObject(“myNameSpace.myWinFormsComponent”)
“很好
Dim foo:foo=myWinFormsComComponent.getValue()
“很好
myWinFormsComponent.thisWorksFine“myString”、“myValue”
“不行
Dim lang:lang=myWinFormsComponent.language
您能在问题中发布类定义吗?希望检查实现。相关-请参阅注释。结果表明,没有调用类构造函数,并且语言正在调用成员对象的非静态方法。仅从查看接口我们就无能为力。