2011-11-04 106 views
1

我想添加一個包含大量子對象的巨大對象到ScriptControlClass。 當訪問這些子類我得到一個錯誤的對象爲空或沒有對象MSScriptControl.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中碼的最後一個字符串我得到的錯誤

var x = MyObject.Bbb.Ccc.MyString; 

我該怎麼做?

回答

1

我必須添加到每個類的標記有ComVisible特性(真)的屬性,而不是隻對第一個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; } 
}