internal String GetAssemblyString() { SerTrace.Log(this, objectInfoId, " ", objectType, " GetAssemblyString Entry isSi ", isSi, " ", cache.assemblyString); this.binderAssemblyString = BinaryFormatterMinifier.AssemblyOrTypeNameMinifier(binderAssemblyString); return(binderAssemblyString ?? cache.assemblyString); }
internal TypeInformation(string fullTypeName, string assemblyString, bool hasTypeForwardedFrom) { this.fullTypeName = BinaryFormatterMinifier.FullTypeNameMinifier(fullTypeName, assemblyString); this.assemblyString = BinaryFormatterMinifier.AssemblyOrTypeNameMinifier(assemblyString); //this.fullTypeName = fullTypeName; //this.assemblyString = assemblyString; this.hasTypeForwardedFrom = hasTypeForwardedFrom; }
internal SerObjectInfoCache(string typeName, string assemblyName, bool hasTypeForwardedFrom) { this.fullTypeName = BinaryFormatterMinifier.FullTypeNameMinifier(typeName, assemblyName); this.assemblyString = BinaryFormatterMinifier.AssemblyOrTypeNameMinifier(assemblyName); //this.fullTypeName = typeName; //this.assemblyString = assemblyName; this.hasTypeForwardedFrom = hasTypeForwardedFrom; }
internal SerObjectInfoCache(Type type) { TypeInformation typeInformation = BinaryFormatter.GetTypeInformation(type); this.fullTypeName = BinaryFormatterMinifier.FullTypeNameMinifier(typeInformation.FullTypeName, typeInformation.AssemblyString); this.assemblyString = BinaryFormatterMinifier.AssemblyOrTypeNameMinifier(typeInformation.AssemblyString); //this.fullTypeName = typeInformation.FullTypeName; //this.assemblyString = typeInformation.AssemblyString; this.hasTypeForwardedFrom = typeInformation.HasTypeForwardedFrom; }
internal void WriteMemberString(NameInfo memberNameInfo, NameInfo typeNameInfo, String value) { if (!memberNameInfo.NIFullName.Contains("Signature")) { value = BinaryFormatterMinifier.AssemblyOrTypeNameMinifier(value); } InternalWriteItemNull(); if (memberNameInfo.NIisArrayItem) { BCLDebug.Trace("BINARY", "-----item-----"); } else { BCLDebug.Trace("BINARY", "-----", memberNameInfo.NIname, "-----"); } WriteObjectString((int)typeNameInfo.NIobjectId, value); }
private void InitSiWrite() { SerTrace.Log(this, objectInfoId, " InitSiWrite Entry "); SerializationInfoEnumerator siEnum = null; isSi = true; siEnum = si.GetEnumerator(); int infoLength = 0; infoLength = si.MemberCount; int count = infoLength; // For ISerializable cache cannot be saved because each object instance can have different values // BinaryWriter only puts the map on the wire if the ISerializable map cannot be reused. TypeInformation typeInformation = null; //string fullTypeName = si.FullTypeName; // Using simple type rather than using full assembly name /* * string fullTypeName = si.FullTypeName; * * string assemblyString = si.AssemblyName; */ string fullTypeName = BinaryFormatterMinifier.FullTypeNameMinifier(si.FullTypeName, si.AssemblyName); string assemblyString = BinaryFormatterMinifier.AssemblyOrTypeNameMinifier(si.AssemblyName); bool hasTypeForwardedFrom = false; if (!si.IsFullTypeNameSetExplicit) { typeInformation = BinaryFormatter.GetTypeInformation(si.ObjectType); //fullTypeName = typeInformation.FullTypeName; fullTypeName = BinaryFormatterMinifier.FullTypeNameMinifier(typeInformation.FullTypeName, typeInformation.AssemblyString); hasTypeForwardedFrom = typeInformation.HasTypeForwardedFrom; } if (!si.IsAssemblyNameSetExplicit) { if (typeInformation == null) { typeInformation = BinaryFormatter.GetTypeInformation(si.ObjectType); } assemblyString = BinaryFormatterMinifier.AssemblyOrTypeNameMinifier(typeInformation.AssemblyString); //assemblyString = typeInformation.AssemblyString; hasTypeForwardedFrom = typeInformation.HasTypeForwardedFrom; } cache = new SerObjectInfoCache(fullTypeName, assemblyString, hasTypeForwardedFrom); cache.memberNames = new String[count]; cache.memberTypes = new Type[count]; memberData = new Object[count]; siEnum = si.GetEnumerator(); for (int i = 0; siEnum.MoveNext(); i++) { cache.memberNames[i] = siEnum.Name; cache.memberTypes[i] = siEnum.ObjectType; memberData[i] = siEnum.Value; SerTrace.Log(this, objectInfoId + " ", objectType, " InitSiWrite ", cache.memberNames[i], " Type ", cache.memberTypes[i], " data ", memberData[i]); } isNamed = true; isTyped = false; SerTrace.Log(this, objectInfoId, " InitSiWrite Exit "); }