2009-06-11 61 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