Расширение Powershell C# Как выбрать свойство по умолчанию для отображения из вложенного свойства. Это список объектов.C#

Место общения программистов C#
Ответить
Anonymous
 Расширение Powershell C# Как выбрать свойство по умолчанию для отображения из вложенного свойства. Это список объектов.

Сообщение Anonymous »

У меня есть структура данных, состоящая из двух классов:

Код: Выделить всё

//--------------------------------------------------------
// These classes are external to the powershell extension
//
namespace thosepeskyexternalclasses
{
public class person
{
public int Id {get; set}
public string Name {get;set;}
}

public class activity
{
public int Id {get; set;}
public string activityName {get; set;}
public List
 participants {get ; set;}
}
}
В библиотеке классов также есть функция GetActivities(), которая возвращает список действий.
Затем у меня есть следующее расширение C# PowerShell:

Код: Выделить всё

//-----------------------------------------------------
// This is the powershell extension
using System.Management.Automation;
using thosepeskyexternalclasses

[Cmdlet(VerbsCommon.Get, "Activities", SupportsTransactions = false)]
public class GetActivity : PSCmdlet
{
protected override void ProcessRecord()
{
base.ProcessRecord();
// Get the activities
List activities = GetActivities();

WriteObject(activities);

}
}
После сборки и загрузки модуля доступен командлет Get-Activities, который при вызове возвращает список действий. Однако список участников каждого действия отображается с использованием свойства Id, а не свойства Name.
Я понимаю использование PSStandardMembers, поскольку оно применимо к списку действий, но не как бы я применил его к участникам.
Например, если я вызываю Get-Activities, возвращаемые объекты будут выглядеть так:
Id: 1название мероприятия: гольф
участники: {1, 2, 4
Я хотел бы иметь:
Идентификатор : 1
название активности: гольф
участники: {Сьюзен, Фрэнк, Джефф
В качестве ограничения я не могу изменять модель или классы.

Подробнее здесь: https://stackoverflow.com/questions/788 ... splay-from
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»