1

多くのサブオブジェクトを含む巨大なオブジェクトを 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 コードを介してオブジェクトの最後の文字列を取得したい場合、エラーが発生します

var x = MyObject.Bbb.Ccc.MyString;

これどうやってするの?

4

1 に答える 1

1

最初のAAAクラスだけでなく、すべてのクラスにComVisible(true)属性を追加する必要があります

[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 に答える