Interface IEventShape
- Namespace
- PolyType.Abstractions
- Assembly
- PolyType.dll
Provides a strongly typed shape model for a given .NET event.
public interface IEventShape
Properties
AttributeProvider
Gets the provider used for event-level attribute resolution.
IGenericCustomAttributeProvider AttributeProvider { get; }
Property Value
Remarks
Provides fast attribute resolution when using the source generator, otherwise this is wrapping standard reflection-based attribute resolution.
When using the source generator, the following categories of attributes are excluded to reduce trimmed application size:
System.Runtime.CompilerServices.*- Compiler-generated attributesSystem.Runtime.InteropServices.*- COM interop attributesSystem.Diagnostics.*- Diagnostic attributesSystem.Reflection.DefaultMemberAttribute- Default member metadataSystem.CLSCompliantAttribute- CLS compliance markerMicrosoft.FSharp.Core.*- F# compiler generated attributes- Attributes marked with unmet ConditionalAttribute annotations
DeclaringType
Gets the shape of the declaring type.
ITypeShape DeclaringType { get; }
Property Value
EventInfo
Gets the underlying EventInfo representing the event, if available.
EventInfo? EventInfo { get; }
Property Value
HandlerType
Gets the shape of the event handler type.
IFunctionTypeShape HandlerType { get; }
Property Value
IsPublic
Gets a value indicating whether the add method is declared public.
bool IsPublic { get; }
Property Value
IsStatic
Gets a value indicating whether the event is static.
bool IsStatic { get; }
Property Value
Name
Gets the name of the event.
string Name { get; }
Property Value
Methods
Accept(TypeShapeVisitor, object?)
Accepts an TypeShapeVisitor for strongly-typed traversal.
object? Accept(TypeShapeVisitor visitor, object? state = null)
Parameters
visitorTypeShapeVisitorThe visitor to accept.
stateobjectThe state parameter to pass to the underlying visitor.