Interface IConstructorShape
- Namespace
- PolyType.Abstractions
- Assembly
- PolyType.dll
Provides a strongly typed shape model for a given .NET constructor.
public interface IConstructorShape
Properties
AttributeProvider
Gets the provider used for method-level attribute resolution.
ICustomAttributeProvider? AttributeProvider { get; }
Property Value
DeclaringType
Gets the shape of the declaring type for the constructor.
IObjectTypeShape DeclaringType { get; }
Property Value
IsPublic
Gets a value indicating whether the constructor is declared public.
bool IsPublic { get; }
Property Value
ParameterCount
Gets the total number of parameters required by the constructor.
int ParameterCount { get; }
Property Value
Remarks
This number includes both constructor parameters and any available property or field initializers.
Methods
Accept(ITypeShapeVisitor, object?)
Accepts an ITypeShapeVisitor for strongly-typed traversal.
object? Accept(ITypeShapeVisitor visitor, object? state = null)
Parameters
visitor
ITypeShapeVisitorThe visitor to accept.
state
objectThe state parameter to pass to the underlying visitor.
Returns
GetParameters()
Creates an enumeration of strongly-typed models for the constructor's parameters.
IEnumerable<IConstructorParameterShape> GetParameters()
Returns
- IEnumerable<IConstructorParameterShape>
An enumeration of IConstructorParameterShape models.