<PackageReference Include="Microsoft.CSharp" Version="4.5.0-rc1" />

SubstContext

sealed class SubstContext
using System; namespace Microsoft.CSharp.RuntimeBinder.Semantics { internal sealed class SubstContext { public readonly CType[] ClassTypes; public readonly CType[] MethodTypes; public readonly bool DenormMeth; public bool IsNop => (ClassTypes.Length == 0) & (MethodTypes.Length == 0); public SubstContext(TypeArray typeArgsCls, TypeArray typeArgsMeth, bool denormMeth) { ClassTypes = (typeArgsCls?.Items ?? Array.Empty<CType>()); MethodTypes = (typeArgsMeth?.Items ?? Array.Empty<CType>()); DenormMeth = denormMeth; } public SubstContext(AggregateType type) : this(type, null, false) { } public SubstContext(AggregateType type, TypeArray typeArgsMeth) : this(type, typeArgsMeth, false) { } private SubstContext(AggregateType type, TypeArray typeArgsMeth, bool denormMeth) : this(type?.TypeArgsAll, typeArgsMeth, denormMeth) { } } }