public void UpdateDerivedTypes() { BaseType?.AddDerivedTypeRecursive(this); foreach (var inf in Interfaces) { inf.AddDerivedTypeRecursive(this); } }
public void AddVarianceBaseType(TypeX vaBaseType) { if (VarianceBaseTypes == null) { VarianceBaseTypes = new HashSet <TypeX>(); } if (VarianceBaseTypes.Add(vaBaseType)) { var tySet = new HashSet <TypeX>(DerivedTypes); tySet.Add(this); vaBaseType.AddDerivedTypeRecursive(tySet); } }