public bool Equals(DynamicMetaTable other) { if (ReferenceEquals(null, other)) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return(Equals(other.source, source)); }
internal DynamicMetaTable GetMetaTableBySource(MetaTable metaTable) { if (metaTable == null) { return(null); } //TODO:加锁 Debug.Assert(metaTable is DynamicMetaTable == false); DynamicMetaTable myMetaTable; if (!metaTables.TryGetValue(metaTable, out myMetaTable)) { myMetaTable = new DynamicMetaTable(this, metaTable); metaTables[metaTable] = myMetaTable; } return(myMetaTable); }