Table of Contents

Class ModifiedType

Namespace
ICSharpCode.Decompiler.TypeSystem.Implementation
Assembly
ICSharpCode.Decompiler.dll

Represents a modopt or modreq type.

public class ModifiedType : TypeWithElementType, IType, INamedElement, IEquatable<IType>
Inheritance
ModifiedType
Implements
Inherited Members
Extension Methods

Constructors

ModifiedType(IType, IType, bool)

public ModifiedType(IType modifier, IType unmodifiedType, bool isRequired)

Parameters

modifier IType
unmodifiedType IType
isRequired bool

Properties

IsByRefLike

Gets whether this type is "ref-like": a ByReferenceType or "ref struct".

public override bool IsByRefLike { get; }

Property Value

bool

IsReferenceType

public override bool? IsReferenceType { get; }

Property Value

bool?

Kind

Gets the type kind.

public override TypeKind Kind { get; }

Property Value

TypeKind

Modifier

public IType Modifier { get; }

Property Value

IType

NameSuffix

public override string NameSuffix { get; }

Property Value

string

Nullability

Gets the nullability annotation on this type.

public override Nullability Nullability { get; }

Property Value

Nullability

Methods

AcceptVisitor(TypeVisitor)

public override IType AcceptVisitor(TypeVisitor visitor)

Parameters

visitor TypeVisitor

Returns

IType

ChangeNullability(Nullability)

Creates a new type that is a copy of this type, with the changed nullability annotation.

public override IType ChangeNullability(Nullability nullability)

Parameters

nullability Nullability

Returns

IType

Equals(IType)

public override bool Equals(IType other)

Parameters

other IType

Returns

bool

GetAccessors(Predicate<IMethod>, GetMemberOptions)

public override IEnumerable<IMethod> GetAccessors(Predicate<IMethod> filter = null, GetMemberOptions options = GetMemberOptions.None)

Parameters

filter Predicate<IMethod>
options GetMemberOptions

Returns

IEnumerable<IMethod>

GetConstructors(Predicate<IMethod>, GetMemberOptions)

public override IEnumerable<IMethod> GetConstructors(Predicate<IMethod> filter = null, GetMemberOptions options = GetMemberOptions.IgnoreInheritedMembers)

Parameters

filter Predicate<IMethod>
options GetMemberOptions

Returns

IEnumerable<IMethod>

GetDefinition()

Gets the underlying type definition. Can return null for types which do not have a type definition (for example arrays, pointers, type parameters).

public override ITypeDefinition GetDefinition()

Returns

ITypeDefinition

GetDefinitionOrUnknown()

Gets the underlying type definition or UnkownType, if unknown. Can return null for types which do not have a type definition (for example arrays, pointers, type parameters).

public override ITypeDefinitionOrUnknown GetDefinitionOrUnknown()

Returns

ITypeDefinitionOrUnknown

GetEvents(Predicate<IEvent>, GetMemberOptions)

public override IEnumerable<IEvent> GetEvents(Predicate<IEvent> filter = null, GetMemberOptions options = GetMemberOptions.None)

Parameters

filter Predicate<IEvent>
options GetMemberOptions

Returns

IEnumerable<IEvent>

GetFields(Predicate<IField>, GetMemberOptions)

public override IEnumerable<IField> GetFields(Predicate<IField> filter = null, GetMemberOptions options = GetMemberOptions.None)

Parameters

filter Predicate<IField>
options GetMemberOptions

Returns

IEnumerable<IField>

GetHashCode()

public override int GetHashCode()

Returns

int

GetMembers(Predicate<IMember>, GetMemberOptions)

public override IEnumerable<IMember> GetMembers(Predicate<IMember> filter = null, GetMemberOptions options = GetMemberOptions.None)

Parameters

filter Predicate<IMember>
options GetMemberOptions

Returns

IEnumerable<IMember>

GetMethods(IReadOnlyList<IType>, Predicate<IMethod>, GetMemberOptions)

public override IEnumerable<IMethod> GetMethods(IReadOnlyList<IType> typeArguments, Predicate<IMethod> filter = null, GetMemberOptions options = GetMemberOptions.None)

Parameters

typeArguments IReadOnlyList<IType>
filter Predicate<IMethod>
options GetMemberOptions

Returns

IEnumerable<IMethod>

GetMethods(Predicate<IMethod>, GetMemberOptions)

public override IEnumerable<IMethod> GetMethods(Predicate<IMethod> filter = null, GetMemberOptions options = GetMemberOptions.None)

Parameters

filter Predicate<IMethod>
options GetMemberOptions

Returns

IEnumerable<IMethod>

GetNestedTypes(IReadOnlyList<IType>, Predicate<ITypeDefinition>, GetMemberOptions)

public override IEnumerable<IType> GetNestedTypes(IReadOnlyList<IType> typeArguments, Predicate<ITypeDefinition> filter = null, GetMemberOptions options = GetMemberOptions.None)

Parameters

typeArguments IReadOnlyList<IType>
filter Predicate<ITypeDefinition>
options GetMemberOptions

Returns

IEnumerable<IType>

GetNestedTypes(Predicate<ITypeDefinition>, GetMemberOptions)

public override IEnumerable<IType> GetNestedTypes(Predicate<ITypeDefinition> filter = null, GetMemberOptions options = GetMemberOptions.None)

Parameters

filter Predicate<ITypeDefinition>
options GetMemberOptions

Returns

IEnumerable<IType>

GetProperties(Predicate<IProperty>, GetMemberOptions)

public override IEnumerable<IProperty> GetProperties(Predicate<IProperty> filter = null, GetMemberOptions options = GetMemberOptions.None)

Parameters

filter Predicate<IProperty>
options GetMemberOptions

Returns

IEnumerable<IProperty>

VisitChildren(TypeVisitor)

public override IType VisitChildren(TypeVisitor visitor)

Parameters

visitor TypeVisitor

Returns

IType