C#接口如何隐藏公共属性(例如QBFC' ICustomerRet)?

时间:2016-07-06 18:08:53

标签: c# reflection qbfc

我正在尝试使用QuickBooks基础类(QBFC),但只发现它的一些接口'属性可用。例如:

Type myType = typeof(ICustomerRet);
foreach( PropertyInfo info in myType.GetProperties(BindingFlags.Public | BindingFlags.Instance | BindingFlags.GetProperty) )
{
    Console.WriteLine( info.ToString() );
}

打印:

QBFC13Lib.IQBIDType ListID 
QBFC13Lib.IQBStringType EditSequence 
QBFC13Lib.IQBStringType CompanyName 
QBFC13Lib.IQBStringType AccountNumber 

然而,界面本身还有更多属性:

 [Guid("DF330518-953C-4813-BAEC-F65DDBBFEB5B")]
    [TypeLibType(4160)]
    public interface ICustomerRet : IQBBase
    {
        [DispId(47)]
        IQBStringType AccountNumber { get; }
        [DispId(36)]
        IQBBaseRefList AdditionalContactRefList { get; }
        [DispId(58)]
        IAdditionalNotesRetList AdditionalNotesRetList { get; }
        [DispId(35)]
        IQBStringType AltContact { get; }
        [DispId(30)]
        IQBStringType AltPhone { get; }
        ...

如果我只使用副本创建我自己的界面版本(ICustomerRet2)然后代码显示所有ICustomerRet2的属性。

我错过了什么?

0 个答案:

没有答案