欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【译】在非泛型类中创建泛型方法

程序员文章站 2022-09-27 18:07:37
目录:https://www.cnblogs.com/liqingwen/p/10261436.html 可以创建泛型类,像这样 这是一个泛型类,它使用类型 T 作为 Write 方法中的方法参数。可以按这种方式去使用: 即使类本身不是泛型,也可以创建泛型方法。 请注意, ThingWriter 类 ......

目录:

可以创建泛型类,像这样

    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#》
网址: