Skip to content
Merged
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
17 changes: 14 additions & 3 deletions src/System.Management.Automation/engine/CoreAdapter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3522,12 +3522,19 @@ protected override ConsolidatedString GetInternedTypeNameHierarchy(object obj)
}

/// <summary>
/// Returns null if memberName is not a member in the adapter or
/// the corresponding PSMemberInfo
/// Get the .NET member based on the given member name.
/// </summary>
/// <remark>
/// Dynamic members of an object that implements IDynamicMetaObjectProvider are not included because
/// 1. Dynamic members cannot be invoked via reflection;
/// 2. Access to dynamic members is handled by the DLR for free.
/// </remark>
/// <param name="obj">object to retrieve the PSMemberInfo from</param>
/// <param name="memberName">name of the member to be retrieved</param>
/// <returns>The PSMemberInfo corresponding to memberName from obj</returns>
/// <returns>
/// The PSMemberInfo corresponding to memberName from obj,
/// or null if the given member name is not a member in the adapter.
/// </returns>
protected override T GetMember<T>(object obj, string memberName)
{
T returnValue = GetDotNetProperty<T>(obj, memberName);
Expand All @@ -3545,6 +3552,10 @@ protected override T GetMember<T>(object obj, string memberName)
/// In the case of the DirectoryEntry adapter, this could be a cache of the objectClass
/// to the properties available in it.
/// </summary>
/// <remark>
/// Dynamic members of an object that implements IDynamicMetaObjectProvider are included because
/// we want to view the dynamic members via 'Get-Member' and be able to auto-complete those members.
/// </remark>
/// <param name="obj">object to get all the member information from</param>
/// <returns>all members in obj</returns>
protected override PSMemberInfoInternalCollection<T> GetMembers<T>(object obj)
Expand Down