private long GetAssemblyId(WriteObjectInfo objectInfo)
{
if (this.assemblyToIdTable == null)
{
this.assemblyToIdTable = new Hashtable(5);
}
long num = 0L;
bool isNew = false;
string assemblyString = objectInfo.GetAssemblyString();
string str2 = assemblyString;
if (assemblyString.Length == 0)
{
return(0L);
}
if (assemblyString.Equals(Converter.urtAssemblyString))
{
return(0L);
}
if (this.assemblyToIdTable.ContainsKey(assemblyString))
{
num = (long)this.assemblyToIdTable[assemblyString];
isNew = false;
}
else
{
num = this.InternalGetId("___AssemblyString___" + assemblyString, false, null, out isNew);
this.assemblyToIdTable[assemblyString] = num;
}
this.serWriter.WriteAssembly(objectInfo.objectType, str2, (int)num, isNew);
return(num);
}