public override bool IsAssignableFrom(Type c) { if (c is TypeWrapper tr) { return(tr._typeSymbol.AllInterfaces.Contains(_typeSymbol) || (tr.NamedTypeSymbol != null && tr.NamedTypeSymbol.BaseTypes().Contains(_typeSymbol))); } else if (_metadataLoadContext.Resolve(c) is TypeWrapper trr) { return(trr._typeSymbol.AllInterfaces.Contains(_typeSymbol) || (trr.NamedTypeSymbol != null && trr.NamedTypeSymbol.BaseTypes().Contains(_typeSymbol))); } return(false); }
protected override bool IsValueTypeImpl() { _valueType ??= _metadataLoadContext.Resolve(typeof(ValueType)); return(IsSubclassOf(_valueType)); }
protected override bool IsValueTypeImpl() { _ValueType ??= (_MetadataLoadContext.Resolve(typeof(ValueType)) ?? throw new ArgumentException("typeof(ValueType) not found.")); return(IsSubclassOf(_ValueType)); }