【问题标题】:C# Extending generic method [closed]C#扩展泛型方法
【发布时间】:2013-07-11 15:01:19
【问题描述】:

早安,

有没有办法扩展泛型方法? 例如

我有这样的方法:

public T DoSomethingAboutIt<T>()
{
//do magic
}

我想要的是扩展方法 如:

private static T Extended<T, L>(this T o, Func<T, L> func)
{
    return default(T);
}

这个扩展是可能的吗?

编辑: 我想这样称呼它 DoSomethingAboutIt().Extended...

【问题讨论】:

  • 当然,这是可能的。你有什么问题?
  • 真的不知道你在问什么。我认为这是可能的。您尝试过并收到错误或其他错误吗?
  • 好吧,我当然试过了,就是不行。我想知道怎么做。你能把我重定向到我可以开始的地方吗?

标签: c# .net extension-methods generic-programming


【解决方案1】:

可以,但还是要遵守Extension Methods (MSDN)的规则。

这段代码编译得很好......

internal class Program
{
    private static void Main(string[] args)
    {
        int y = 1;
        int z = y.Extended(n => "hi!");
    }
}

public static class X
{
    public static T Extended<T, L>(this T o, Func<T, L> func)
    {
        return default(T);
    }
}

【讨论】:

  • 是的,这确实有效,谢谢。我想我已经累了......我的感激之情
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-19
  • 2014-12-21
  • 1970-01-01
  • 2015-02-26
  • 1970-01-01
相关资源
最近更新 更多