zoukankan      html  css  js  c++  java
  • 【译】在非泛型类中创建泛型方法

    目录:https://www.cnblogs.com/liqingwen/p/10261436.html

    可以创建泛型类,像这样

        class ThingWriter<T>
        {
            public void Write(T thing)
            {
                Console.WriteLine(thing);
            }
        }
    

    这是一个泛型类,它使用类型 T 作为 Write 方法中的方法参数。可以按这种方式去使用:

      var w = new ThingWriter<int>();
    
      w.Write(42);
    

    即使类本身不是泛型,也可以创建泛型方法。

        class ThingWriter
        {
            public void Write<T>(T thing)
            {
                Console.WriteLine(thing);
            }
        }
    

    请注意, ThingWriter 类本身并非泛型。需要这样调用泛型方法:

      var w = new ThingWriter();
    
      w.Write<int>(42);
    

    或者通过利用泛型类型去推断,编译器可以通过传递给 Write 方法的类型 int 来确定(计算出)实际的类型。

      var w = new ThingWriter();
    
      w.Write(42);
    

    章节:Creating Generic Methods in Non-GenericClasses
    译书名:《C# 奇淫巧技 -- 编写更优雅的 C#》
    原书名:《C# Tips -- Write Better C#》
    网址:https://leanpub.com/cstips

  • 相关阅读:
    hud 1397
    hdu 1211
    hdu 1124
    hdu 1104
    1788
    hdu 1796
    sdut 2169
    hdu 1019
    $http post 取不到数据
    sql
  • 原文地址:https://www.cnblogs.com/liqingwen/p/10266268.html
Copyright © 2011-2022 走看看