private SoapAttributeInfo GetTypeAttributeInfo() { if (this.arrayElemObjectInfo != null) { return(this.arrayElemObjectInfo.GetTypeAttributeInfo()); } SoapAttributeInfo attributeInfo = null; attributeInfo = new SoapAttributeInfo(); Attr.ProcessTypeAttribute(this.objectType, attributeInfo); return(attributeInfo); }
// Check for Interop type (SchemaType) private SoapAttributeInfo GetTypeAttributeInfo() { if (arrayElemObjectInfo != null) { return(arrayElemObjectInfo.GetTypeAttributeInfo()); } SoapAttributeInfo attributeInfo = null; attributeInfo = new SoapAttributeInfo(); Attr.ProcessTypeAttribute(objectType, attributeInfo); attributeInfo.Dump("type " + objectType); return(attributeInfo); }
private SoapAttributeInfo GetTypeAttributeInfo() { if (this.arrayElemObjectInfo != null) { return(this.arrayElemObjectInfo.GetTypeAttributeInfo()); } SoapAttributeInfo attributeInfo = null; if (this.parentMemberAttributeInfo != null) { attributeInfo = this.parentMemberAttributeInfo; } else { attributeInfo = new SoapAttributeInfo(); } Attr.ProcessTypeAttribute(this.objectType, attributeInfo); return(attributeInfo); }
private void InitMemberInfo() { InternalST.Soap(this, objectInfoId, " ", objectType, " InitMemberInfo Entry"); cache = (SerObjectInfoCache)serObjectInfoInit.seenBeforeTable[objectType]; if (cache == null) { InternalST.Soap(this, objectInfoId, " ", objectType, " InitMemberInfo new cache"); cache = new SerObjectInfoCache(); int count = 0; if (!objectType.IsByRef) // byref will only occur for MethodSignature { cache.memberInfos = FormatterServices.GetSerializableMembers(objectType, context); count = cache.memberInfos.Length; } cache.memberNames = new String[count]; cache.memberTypes = new Type[count]; cache.memberAttributeInfos = new SoapAttributeInfo[count]; // Calculate new arrays for (int i = 0; i < count; i++) { cache.memberNames[i] = cache.memberInfos[i].Name; cache.memberTypes[i] = GetMemberType(cache.memberInfos[i]); cache.memberAttributeInfos[i] = Attr.GetMemberAttributeInfo(cache.memberInfos[i], cache.memberNames[i], cache.memberTypes[i]); InternalST.Soap(this, objectInfoId, " InitMemberInfo name ", cache.memberNames[i], ", type ", cache.memberTypes[i], ", memberInfoType ", cache.memberInfos[i].GetType()); } cache.fullTypeName = objectType.FullName; cache.assemblyString = objectType.Module.Assembly.FullName; serObjectInfoInit.seenBeforeTable.Add(objectType, cache); } if (obj != null) { memberData = FormatterServices.GetObjectData(obj, cache.memberInfos); DumpMemberInfo(); } isTyped = true; isNamed = true; InternalST.Soap(this, objectInfoId, " ", objectType, " InitMemberInfo Exit"); }
// Check for Interop type (SchemaType) private SoapAttributeInfo GetTypeAttributeInfo() { if (arrayElemObjectInfo != null) { return(arrayElemObjectInfo.GetTypeAttributeInfo()); } SoapAttributeInfo attributeInfo = null; if (parentMemberAttributeInfo != null) { attributeInfo = parentMemberAttributeInfo; } else { attributeInfo = new SoapAttributeInfo(); } Attr.ProcessTypeAttribute(objectType, attributeInfo); attributeInfo.Dump("type " + objectType); return(attributeInfo); }