0
林显影C#中的COM对象,VS 2010,NET 3.5的,X86COM对象 - 阵列作为对象,而不是类型
我曾经有结构中的COM对象一个阵列,该阵列在VBA出现了罚款与所有的领域和一切。
因为它创建了一些问题,我切换到类。 现在我怎么不能访问数组中的属性,因为数组中的元素显示为对象而不是类型。
[Guid("8b65079f-5d98-41e7-9579-1ee384948e4c")]
[ComVisible(true)]
public interface IContact
{
string Test1 { get; set; }
string[] Array1 { get; set; }
}
[Guid("8b65089f-5d98-41e7-9579-1ee384948e4c")]
[ComVisible(true)]
[ClassInterface(ClassInterfaceType.AutoDual)]
public class Contact : IContact //Used To Be a struct
{
//[MarshalAs(UnmanagedType.BStr)]
public string Test1 { get; set; }
public string[] Array1 { get; set; }
}
public class InContainer
{
public Contact[] Contacts { get;set;}
public string[] strings { get; set; }
}
在调试我看到观看场时:
Container.Contacts() - 作为对象>(0至4)
代替
Container.Contacts() - >(0 To 4)As联系方式
我在想什么?谢谢!
That's一个,你看鸵鸟政策* what's里面*。顺便说一句:为什么这个问题标签为C#? – HimBromBeere
com对象是用C#编写的 但是我看到里面是什么,当它是一个结构体,并且我没有其他类的问题 – PonWer
我认为即使在VBA中您也可以使用typeof来测试对象类型。可能值得一试。 – bilpor