public static bool HasCompatibleTypes <TOtherTypePair>( this ITypePair typePair, TOtherTypePair otherTypePair, IQualifiedMember sourceMember = null, QualifiedMember targetMember = null) where TOtherTypePair : ITypePair { var sourceTypesMatch = typePair.IsForSourceType(otherTypePair.SourceType) || (sourceMember?.HasCompatibleType(typePair.SourceType) == true); if (!sourceTypesMatch) { return(false); } var targetTypesMatch = (targetMember?.HasCompatibleType(typePair.TargetType) == true) || otherTypePair.TargetType.IsAssignableTo(typePair.TargetType); return(targetTypesMatch); }
public bool HasCompatibleType(Type type) => _wrappedSourceMember.HasCompatibleType(type);