Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions src/libraries/System.Private.CoreLib/src/System/Type.cs
Original file line number Diff line number Diff line change
Expand Up @@ -210,9 +210,13 @@ public ConstructorInfo? TypeInitializer
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicEvents | DynamicallyAccessedMemberTypes.NonPublicEvents)]
public abstract EventInfo? GetEvent(string name, BindingFlags bindingAttr);

/// <summary>Gets the public events of the current <see cref="Type"/>.</summary>
/// <remarks>The returned array is not guaranteed to be ordered in any particular way, such as alphabetically, by declaration order, or by inheritance hierarchy.</remarks>
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicEvents)]
public virtual EventInfo[] GetEvents() => GetEvents(DefaultLookup);

/// <summary>When overridden in a derived class, searches for the events of the current <see cref="Type"/>, using the specified binding constraints.</summary>
/// <remarks>The returned array is not guaranteed to be ordered in any particular way, such as alphabetically, by declaration order, or by inheritance hierarchy.</remarks>
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicEvents | DynamicallyAccessedMemberTypes.NonPublicEvents)]
public abstract EventInfo[] GetEvents(BindingFlags bindingAttr);

Expand All @@ -222,16 +226,22 @@ public ConstructorInfo? TypeInitializer
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields)]
public abstract FieldInfo? GetField(string name, BindingFlags bindingAttr);

/// <summary>Gets the public fields of the current <see cref="Type"/>.</summary>
/// <remarks>The returned array is not guaranteed to be ordered in any particular way, such as alphabetically, by declaration order, or by inheritance hierarchy.</remarks>
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicFields)]
public FieldInfo[] GetFields() => GetFields(DefaultLookup);

/// <summary>When overridden in a derived class, searches for the fields of the current <see cref="Type"/>, using the specified binding constraints.</summary>
/// <remarks>The returned array is not guaranteed to be ordered in any particular way, such as alphabetically, by declaration order, or by inheritance hierarchy.</remarks>
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.NonPublicFields)]
public abstract FieldInfo[] GetFields(BindingFlags bindingAttr);

public virtual Type[] GetFunctionPointerCallingConventions() => throw new NotSupportedException();
public virtual Type GetFunctionPointerReturnType() => throw new NotSupportedException();
public virtual Type[] GetFunctionPointerParameterTypes() => throw new NotSupportedException();

/// <summary>Gets the public members of the current <see cref="Type"/> that match the specified name.</summary>
/// <remarks>The returned array is not guaranteed to be ordered in any particular way, such as alphabetically, by declaration order, or by inheritance hierarchy.</remarks>
[DynamicallyAccessedMembers(
DynamicallyAccessedMemberTypes.PublicFields |
DynamicallyAccessedMemberTypes.PublicMethods |
Expand All @@ -247,6 +257,8 @@ public ConstructorInfo? TypeInitializer
[DynamicallyAccessedMembers(GetAllMembers)]
public virtual MemberInfo[] GetMember(string name, MemberTypes type, BindingFlags bindingAttr) => throw new NotSupportedException(SR.NotSupported_SubclassOverride);

/// <summary>Gets the public members of the current <see cref="Type"/>.</summary>
/// <remarks>The returned array is not guaranteed to be ordered in any particular way, such as alphabetically, by declaration order, or by inheritance hierarchy.</remarks>
[DynamicallyAccessedMembers(
DynamicallyAccessedMemberTypes.PublicFields |
DynamicallyAccessedMemberTypes.PublicMethods |
Expand Down Expand Up @@ -288,6 +300,8 @@ public virtual MemberInfo GetMemberWithSameMetadataDefinitionAs(MemberInfo membe
private protected static ArgumentException CreateGetMemberWithSameMetadataDefinitionAsNotFoundException(MemberInfo member) =>
new ArgumentException(SR.Format(SR.Arg_MemberInfoNotFound, member.Name), nameof(member));

/// <summary>When overridden in a derived class, searches for the members of the current <see cref="Type"/>, using the specified binding constraints.</summary>
/// <remarks>The returned array is not guaranteed to be ordered in any particular way, such as alphabetically, by declaration order, or by inheritance hierarchy.</remarks>
[DynamicallyAccessedMembers(GetAllMembers)]
public abstract MemberInfo[] GetMembers(BindingFlags bindingAttr);

Expand Down Expand Up @@ -389,9 +403,13 @@ private protected static ArgumentException CreateGetMemberWithSameMetadataDefini
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicMethods | DynamicallyAccessedMemberTypes.NonPublicMethods)]
protected virtual MethodInfo? GetMethodImpl(string name, int genericParameterCount, BindingFlags bindingAttr, Binder? binder, CallingConventions callConvention, Type[]? types, ParameterModifier[]? modifiers) => throw new NotSupportedException();

/// <summary>Gets the public methods of the current <see cref="Type"/>.</summary>
/// <remarks>The returned array is not guaranteed to be ordered in any particular way, such as alphabetically, by declaration order, or by inheritance hierarchy.</remarks>
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicMethods)]
public MethodInfo[] GetMethods() => GetMethods(DefaultLookup);

/// <summary>When overridden in a derived class, searches for the methods of the current <see cref="Type"/>, using the specified binding constraints.</summary>
/// <remarks>The returned array is not guaranteed to be ordered in any particular way, such as alphabetically, by declaration order, or by inheritance hierarchy.</remarks>
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicMethods | DynamicallyAccessedMemberTypes.NonPublicMethods)]
public abstract MethodInfo[] GetMethods(BindingFlags bindingAttr);

Expand Down Expand Up @@ -449,9 +467,13 @@ private protected static ArgumentException CreateGetMemberWithSameMetadataDefini
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties)]
protected abstract PropertyInfo? GetPropertyImpl(string name, BindingFlags bindingAttr, Binder? binder, Type? returnType, Type[]? types, ParameterModifier[]? modifiers);

/// <summary>Gets the public properties of the current <see cref="Type"/>.</summary>
/// <remarks>The returned array is not guaranteed to be ordered in any particular way, such as alphabetically, by declaration order, or by inheritance hierarchy.</remarks>
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicProperties)]
public PropertyInfo[] GetProperties() => GetProperties(DefaultLookup);

/// <summary>When overridden in a derived class, searches for the properties of the current <see cref="Type"/>, using the specified binding constraints.</summary>
/// <remarks>The returned array is not guaranteed to be ordered in any particular way, such as alphabetically, by declaration order, or by inheritance hierarchy.</remarks>
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicProperties | DynamicallyAccessedMemberTypes.NonPublicProperties)]
public abstract PropertyInfo[] GetProperties(BindingFlags bindingAttr);

Expand Down
Loading