public ObjectContext (XamlGenerator generator, JObject jobj) { JObj = jobj; TokenTypeInfo parentInfo = generator.GetTypeInfo(JObj.Parent); TypeInfo = generator.GetTypeInfo(JObj); if (TypeInfo.Type == null) TypeInfo.Type = parentInfo.PropertyItemType; if (TypeInfo.PropertyContainerType == null) TypeInfo.PropertyContainerType = parentInfo.PropertyType; string visibility, typeName, objId; ParseDollarField((string)JObj[pnDollar], out visibility, out typeName, out objId); Visibility = visibility; ObjId = objId; if (typeName != null) { TypeInfo.Type = generator.GetTypeByName(typeName); TypeName = typeName; } else if (TypeInfo.Type != null) { TypeName = TypeInfo.Type.Name; } }