2010-10-21 35 views
1

任何人都可以指示我一個例子,顯示如何傳遞和/或返回一個.NET類暴露爲COM的類。 COM消費者將是一個VBScript。此外,有可能將一個對象從VBScript傳遞給.NET-COM暴露的方法?例如自定義或.Net類作爲COM參數或輸出

[ComVisible(true)] 
public class A 
{ 
     public SomeClass MethodName(NameValueCollection param) 
     { 
      return new SomeClass(); 
     } 
} 

你怎麼稱呼方法名在VBScript(ASP)

謝謝!

回答

2

我不認爲NameValueCollection被標記爲ComVisible,所以我懷疑沒有。

0

在VBScript,創建和使用對象...

 

set obj= CreateObject("your.fully.qualified.com.classname") 
obj.Do_Some_Method(some_obj_param, another_obj_param) 
obj.Some_Property = anything 

的唯一因素,通過任何類型的值時,來回是)如何做你的COM類translate them back and forth;和b)你的消費/客戶語言如何來回翻譯它們。對象是對象。但從根本上講,您創建,調用或分配的COM類必須正確設置和註冊其接口。並且(我認爲)使用CreateObject()創建的任何對象必須實現將其公開給COM的幾個屬性之一,以便能夠使用其任何方法或訪問其屬性。即ComVisible(true)屬性。

你會發現大多數.NET默認類不能完全使用COM調用,即使在文檔中另有標記(可能是因爲你的消費者/客戶端語言無法處理它,或者它確實不是COM可調用的),以及因此你必須自己製作custom COM Callable Wrapper

相關問題