2009-06-11 57 views
1

我有C#方法,它返回一個字節數組,我希望能夠從VBScript訪問。或多或少:通過COM互操作從C#返回字節數組到VBScript

namespace ClassLibrary7 
{ 
    [ClassInterface(ClassInterfaceType.AutoDual)] 
    [Guid("63A77D29-DB8C-4733-91B6-3CC9C2D1340E")] 
    [ComVisible(true)] 
    public class Class1 
    { 
     public void Create(
      out byte[] BinaryData 
      ) 
     { 
      // do some work and return BinaryData 
      BinaryData = new byte[] { 1, 2, 3, 4 }; 
     } 
    } 
} 

和VBScript中的樣子:

dim o 
dim b 

set o = wscript.CreateObject("ClassLibrary7.Class1") 

o.Create b 

MsgBox ubound(b) 

我迷路了。谷歌不想合作......我希望有人能幫忙!

羅布

回答

0

這應有助於:

COM互操作第2部分:C#服務器教程
http://msdn.microsoft.com/en-us/library/aa645738(VS.71).aspx

這:

創建與.NET COM服務器。 C#
http://codebetter.com/blogs/peter.van.ooijen/archive/2005/08/02/130157.aspx

+0

問題是,要返回一個字節數組到SBCcript,你正在處理如何VBScript ...這是通過變體引用。通過互操作,事實證明,爲數據類型指定「對象」解決了這個問題。例如。 public void Create(out object BinaryData); – user53794 2009-06-11 01:44:53