【譯】在非泛型類中創建泛型方法


目錄: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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM