// Assumes that GetKnownXamlType was called first private XamlType GetUnknownXamlType(Type type) { XamlType xamlType; lock (_syncObject) { if (!_masterTypeTable.TryGetValue(type, out xamlType)) { WpfSharedXamlSchemaContext.RequireRuntimeType(type); xamlType = new WpfXamlType(type, this, true, true); _masterTypeTable.Add(type, xamlType); } } return(xamlType); }
// Token: 0x060015AB RID: 5547 RVA: 0x0006A34C File Offset: 0x0006854C public override XamlType GetXamlType(Type type) { if (type == null) { throw new ArgumentNullException("type"); } object syncObject = this._syncObject; XamlType xamlType; lock (syncObject) { if (!this._masterTypeTable.TryGetValue(type, out xamlType)) { WpfSharedXamlSchemaContext.RequireRuntimeType(type); xamlType = base.CreateKnownBamlType(type.Name, false, this._useV3Rules); if (xamlType == null || xamlType.UnderlyingType != type) { xamlType = new WpfXamlType(type, this, false, this._useV3Rules); } this._masterTypeTable.Add(type, xamlType); } } return(xamlType); }