MSScriptControl.ScriptControlClass - 访问主对象的子对象

时间:2011-11-04 15:02:39

标签: c# javascript scriptengine

我想在ScriptControlClass中添加一个包含大量子对象的大对象。 访问这些子类时,我得到一个错误,该对象为null或没有对象

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;

我该怎么做?

1 个答案:

答案 0 :(得分: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; }
}