无法从系统.__ COMObject得到有用的数据(Unable to get usable dat

2019-09-28 20:52发布

我与第三方SDK(专有),我在我的控制台应用程序已引用的工作,我一直负责帮助建立一个解决方案,这将有利于许多日常任务。 然而,正如我一直在建设,我观察了解决方案的一部分,某些项目将返回这对我看起来像错误的对象。 这仅与特定项目发生,但是其他项目恢复有意义的数据,所以我认为是与它是无效,或不存在。 不过,我想问一下社会各界对一些见解。

例子

当我看到在获得客户的粘结剂GUID(好案例)

string getGuid = currentWorkingPaper.ClientGUID; << I get meaningfull data that I can use

在另一方面,当我看着同一客户粘结剂的账户(不好的情况下)

 var value1 = currentWorkingPaper.RootEntity.Accounts; << returns {System.__ComObject}

当我深入到{系统.__ ComObject}我得到以下

我试图获取数据

我试图钻入进入这个COM对象,看看我是否可以得到以下操作的一些信息,但我没有得到这是可用的任何数据。

第一次尝试:

var whatIsThis1 = value1.GetType().GetMembers();

**Returns**

 -      whatIsThis1 {System.Reflection.MemberInfo[7]}   System.Reflection.MemberInfo[]
+       [0] {System.String ToString()}  System.Reflection.MemberInfo {System.Reflection.RuntimeMethodInfo}
+       [1] {System.Object GetLifetimeService()}    System.Reflection.MemberInfo {System.Reflection.RuntimeMethodInfo}
+       [2] {System.Object InitializeLifetimeService()} System.Reflection.MemberInfo {System.Reflection.RuntimeMethodInfo}
+       [3] {System.Runtime.Remoting.ObjRef CreateObjRef(System.Type)}  System.Reflection.MemberInfo {System.Reflection.RuntimeMethodInfo}
+       [4] {Boolean Equals(System.Object)} System.Reflection.MemberInfo {System.Reflection.RuntimeMethodInfo}
+       [5] {Int32 GetHashCode()}   System.Reflection.MemberInfo {System.Reflection.RuntimeMethodInfo}
+       [6] {System.Type GetType()} System.Reflection.MemberInfo {System.Reflection.RuntimeMethodInfo}

第二次尝试

var whatIsThis2 = value1.GetType().AssemblyQualifiedName;
**returns**
whatIsThis2 "System.__ComObject, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"   string

第三次尝试

var whatIsThis3 = value1.GetType().GetFields();
**Returns**
whatIsThis3 {System.Reflection.FieldInfo[0]}    System.Reflection.FieldInfo[]

附录

我的第三次尝试之后,我发现它返回没有字段,所以我认为它可能是,当我得到一个系统.__ COMObject那是因为我想获得的是为空或不存在的数据。 因为,我只得到这些对象与我试图让某些项目。 不过我很好奇,看看到底什么是这些COM对象的内部。

文章来源: Unable to get usable data from System.__COMObject