Ist es möglich, zu schreiben, extension-Methoden für die Konsole?
Während der Blick auf diese Frage und es Antworten, die ich dachte, es wäre eine gute Idee, schreiben Sie eine extension-Methode für System.Console
enthalten, dass die gewünschte Funktionalität.
Jedoch, wenn ich es versuchte, bekam ich diese compiler-Fehler
System.Konsole": statische Typen können nicht
als Parameter verwendet werden
Hier der code:
using System;
using System.Runtime.CompilerServices;
namespace ConsoleApplication1
{
public static class ConsoleExtensions
{
[Extension]
public static string TestMethod(this Console console, string testValue)
{
return testValue;
}
}
}
Gibt es eine weitere Möglichkeit, extension-Methoden für statische Typen? Oder ist das einfach nicht möglich?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nein, es ist nicht möglich, leider. Sehen Statische erweiterungsmethoden
Einige Leute haben vorgeschlagen, es:
http://madprops.org/blog/static-extension-methods/
...aber es wurde nie getan .NET 4. Anscheinend Erweiterung Eigenschaften habe irgendwie etwas zu machen, es wurde dann aber aufgegeben.
https://blogs.msdn.com/ericlippert/archive/2009/10/05/why-no-extension-properties.aspx
Es ist nicht möglich, wie bereits im Matt ' s Antwort.
Als workaround könnten Sie erstellen eine statische Klasse, die wrap-Konsole hinzufügen von gewünschten Funktionen.
Es ist nicht ideal, da man hinzufügen, dass die kleine "Ex", sondern fließt mit code anständig na, wenn das alle (äh) Trost: