1

我想向 ScriptControlClass 添加一个带有很多子对象的巨大对象。在访问这些子类时,我收到一个错误,即对象为空或没有对象

MSScriptControl.ScriptControlClass js = new MSScriptControl.ScriptControlClass();
js.AllowUI = false;
js.Language = "JScript";
js.Reset();
js.AddObject("MyObject", myObject, false);

[ComVisible(true)]
class AAA
{
    public BBB Bbb { get; set; } 
}

class BBB
{
    public CCC Ccc { get; set; }
}

class CCC
{
    public string MyString { get; set; }
}

如果我想通过这个 JScript-Code 获取我的对象的最后一个字符串,我会收到错误

var x = MyObject.Bbb.Ccc.MyString;

我怎样才能做到这一点?

4

1 回答 1

1

我必须将 ComVisible(true) 属性添加到每个类,而不仅仅是第一个 AAA 类

[ComVisible(true)]
public class AAA
{
    public BBB Bbb { get; set; }
}

[ComVisible(true)]
public class BBB
{
    public CCC Ccc { get; set; }
}

[ComVisible(true)]
public class CCC
{
    public string MyString { get; set; }
}
于 2011-11-07T11:24:33.773 回答