例如,我正在努力实现这一目标:
class A
{
}
class B
{
}
interface C
{
void SomeMethod();
}
A.ExtentionMethod(B,C);
请注意,我将Type A和C传递给ExtentionMethod(非实例)
答案 0 :(得分:1)
使用此代码:
public static class Util
{
public static void ExtensionMethod<t1, t2>(this A aobj)
{
}
}
答案 1 :(得分:1)
另一种选择是使用泛型而不是传递参数
public static class Extensions
{
public static void ExtensionMethod<T1, T2>(this A a)
{
// ANywhere you would use the parameters use T1 and T2 instead.
}
}
A a;
a.ExtensionMethod<B, C>();
IMO,这比使用typeof()
时更具可读性。
答案 2 :(得分:0)
public static class Extensions
{
public static void ExtensionMethod(this A a, Type c1, Type c2)
{
}
}
A a;
a.ExtensionMethod(typeof(B), typeof(C));
但是,我不知道这是多么有用。请详细说明你想要的东西。
答案 3 :(得分:0)
你可以使用这样的界面
public static class Extension
{
public static void Method1(this IMyInterface myInterface, int i)
{
Console.WriteLine("Extension.Method1");
}
public static void Method1(this IMyInterface myInterface, string s)
{
Console.WriteLine("Extension.Method1");
}
}