イムとして配列、VS 2010、.NET 3.5、x86のCOMオブジェクト - C#でCOMオブジェクトを開発する代わりに、型のオブジェクト
私はVBAに現れたCOMオブジェクト内の構造体の配列を持っていましたすべてのフィールドとすべてのものでうまくいく。
私はいくつかの問題を作成してからクラスに切り替えました。 今、配列の要素が型ではなくオブジェクトとして表示されるため、配列のプロパティにアクセスすることができません。フィールドを表示するときに私が見るデバッガで
[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〜4)お問い合わせ
何が欠けていますか?ありがとう!
That's 1 COMでの作業には、内部* what'sを参照してくださいドント*。 Btw:なぜこの質問はC#にタグ付けされていますか? – HimBromBeere
comオブジェクトはC# で書かれていますが、構造体だったときに何が入っているかを見ていました。他のクラスに問題はありません – PonWer
VBAでもオブジェクト型をテストするにはtypeofを使用できます。行く価値があるかもしれない。 – bilpor