【发布时间】:2013-07-24 03:15:11
【问题描述】:
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");
}
}
}
如何在没有“使用”的情况下调用扩展方法?而不是 ExtensionMethod.AExtensions.PrintStuff(a),因为它没有使用扩展方法。
【问题讨论】:
-
为什么反对添加 using 语句?
-
使用您的代码,您不能。对不起。 c# 编译器需要知道在哪里可以找到扩展方法。如果它在单独的命名空间中,则需要
using,没有办法。 -
@BillGregg 只是好奇有没有办法......
-
可以直接调用
ExtensionMethod.AExtensions.PrintStuff(a) -
@BillGregg 也许不是 OP 的意图,但我搜索了这个问题,因为我想从 VS 的即时窗口调用扩展方法。
标签: c#