代码之家  ›  专栏  ›  技术社区  ›  joby-flick

c#泛型:我可以将重载方法组合成具有不同返回/输入数据类型的方法吗?

  •  1
  • joby-flick  · 技术社区  · 8 年前

    private static ReturnDto<int> MethodName(int val)
    private static ReturnDto<string> MethodName(string val)
    private static ReturnDto<bool> MethodName(bool val)
    private static ReturnDto<DateTime> MethodName(DateTime val)
    {
        //do some stuff here...
        return new ReturnDto<DateTime> { Val = val, Val2 = val2, Val3 = val3 };
    }
    
    1 回复  |  直到 8 年前
        1
  •  6
  •   InBetween    8 年前

    private static ReturnDto<T> MethodName<T>(T val)
    

    T ( generic type parameter 任何 this 了解更多信息。

    var returnDto = MethodName(1); //instead of MethodName<int>(1)
    

    T 通过类型 val 这就是 int ; 编译器有足够的信息来确定 T

    推荐文章