MetalamaAPI documentationAspect APIMetalama.​Framework.​CodeIGeneric
Open sandboxFocus

IGeneric Interface

An interface, common to INamedType and IMethod, that represents a generic declaration, i.e. a declaration with type parameters.

Namespace: Metalama.Framework.Code
Assembly: Metalama.Framework.dll
public interface IGeneric : IMemberOrNamedType, INamedDeclaration, IDeclaration, IDisplayable, IDiagnosticLocation, ICompilationElement, IMeasurable

In Metalama, and unlike System.Reflection, generic types and methods are always fully bound. In generic declarations, such as in (typeof(List<>), type parameters are bound to themselves, i.e. the content of the TypeArguments and TypeParameters properties are identical.


Name Description

Gets a value indicating whether all type parameters are bound to themselves, i.e. if the content of TypeArguments and TypeParameters are equal. This property returns true if the current declaration has no generic argument. For generic methods, this property returns false if the declaring type is generic but is not a canonical generic instance.


Gets a value indicating whether this member has type parameters, regardless the fact that the containing type, if any, is generic.


Gets the generic type arguments of the current type or method, which are the type values applied to the TypeParameters of the current type. The number of items in this list is always the same as in TypeParameters.


Gets the generic parameters of the current type or method.

See Also