代码之家  ›  专栏  ›  技术社区  ›  Denis

能否在泛型类声明中多次使用同一泛型类型?

  •  0
  • Denis  · 技术社区  · 7 年前

    我想有一个身份转换器,只返回传入的类型。我有一个界面:

     public interface IDataTranslator<TFrom, TTo>  {
            TTo Translate(TFrom fromObj);
        }
    

    public class IdentityDataTranslator<T, T> : IDataTranslator<T, T> {
            public T Translate(T fromObj) {
                return fromObj;
            }
    }
    

    这里的语法似乎不正确。。。

    1 回复  |  直到 7 年前
        1
  •  5
  •   BradleyDotNET Aniss    7 年前

    只是不要在实现类上定义第二个类型参数;你已经拥有了你所需要的:

    public class IdentityDataTranslator<T> : IDataTranslator<T, T> {
            public T Translate(T fromObj) {
                return fromObj;
            }
    }