Ich habe Probleme herauszufinden, wie Powershell einen Indexer für meine Klasse aufrufen kann. Die Klasse sieht wie folgt aus etwas (stark vereinfacht):Wie Sie einen Indexer für eine C# -Klasse von PowerShell aufrufen?
public interface IIntCounters
{
int this[string counterName] { get; set; }
}
public class MyClass : IIntCounters
{
public IIntCounters Counters { get { return this; } }
int IIntCounters.this[string counterName]
{ get { ...return something... } }
}
Wenn ich diese Klasse neu kann ich nicht nur eckigen Klammern auf sie verwenden - ich Fehler einen „Index nicht in der Lage“ zu bekommen. Ich habe auch versucht, mit get_item(), was Reflector zeigt mir der Indexer wird schließlich in der Assembly, aber das bringt mir eine "enthält keine Methode namens get_item" Fehler.
UPDATE: dies scheint spezifisch für meine Verwendung von expliziten Schnittstellen. Meine neue Frage lautet also: Gibt es eine Möglichkeit, Powershell den Indexer zu zeigen, ohne von expliziten Schnittstellen abzuweichen? (Ich möchte wirklich nicht, diese Versammlung, wenn möglich ändern.)
Yup! – scobi