public override XamlType GetXamlType(Type type) { if (type.Assembly == typeof(Platform).Assembly) { XamlType xamlType; if (!typeCache.TryGetValue(type, out xamlType)) { xamlType = new EtoXamlType(type, this); typeCache.Add(type, xamlType); } return xamlType; } return base.GetXamlType(type); }
public override XamlType GetXamlType(Type type) { var info = type.GetTypeInfo(); if (info.Assembly == EtoAssembly || ( info.IsGenericType && info.GetGenericTypeDefinition() == typeof(Nullable<>) && Nullable.GetUnderlyingType(type).GetTypeInfo().Assembly == EtoAssembly )) { XamlType xamlType; if (typeCache.TryGetValue(type, out xamlType)) return xamlType; xamlType = new EtoXamlType(type, this); typeCache.Add(type, xamlType); return xamlType; } return base.GetXamlType(type); }