using System;
class Runner
{
static void Main()
{
A a = new A();
// how to say a.PrintStuff() without a 'using'
Console.Read();
}
}
class A { }
namespace ExtensionMethod
{
static class AExtensions
{
public static void PrintStuff(this A a)
{
Console.WriteLine("text");
}
}
}
Wie würde ich die Erweiterungsmethode ohne ein "verwenden" aufrufen? Und nicht ExtensionMethod.AExtensions.PrintStuff (a), da die Erweiterungsmethode nicht verwendet wird.So rufen Sie eine Erweiterungsmethode ohne Verwendung von
Warum möchten Sie eine using-Anweisung hinzufügen? –
Mit Ihrem Code wie es ist, können Sie nicht. Es tut uns leid. Der C# -Compiler muss wissen, wo die Erweiterungsmethode zu finden ist. Wenn es sich in einem separaten Namespace befindet, brauchen Sie das 'using', nicht herum. – rossipedia
Ich nehme an, Sie können möglicherweise die statische Erweiterungsmethode manuell aufrufen und das Objekt als erstes Argument übergeben, aber das wäre kaum eine Verbesserung gegenüber dem Import des Namespace. – David