c#通用条件where子句
本文关键字:where 子句 条件 | 更新日期: 2023-09-27 18:12:50
我想知道是否有可能在where子句中引入条件。例如如果我有两个泛型:
public static Y Convert<T, Y>(T itemToConvert)
where T : IDataTypeConverter, new()
where Y : IDataTypeConverter2, new()
{
}
public static Y Convert2<T, Y>(T itemToConvert)
where T : IDataTypeConverter2, new()
where Y : IDataTypeConverter, new()
{
}
如何将它们合并为一个?
谢谢!
使两个数据类型转换器从同一接口继承。然后在where子句中使用该接口。
我想你想要的是这个…
public interface IDataTypeConverterBase
{}
public interface IDataTypeConverter : IDataTypeConverterBase
{}
public interface IDataTypeConverter2 : IDataTypeConverterBase
{}
public static Y Convert<T, Y>(T itemToConvert)
where T : IDataTypeConverterBase, new()
where Y : IDataTypeConverterBase, new()
{
}
不可以,每个类型参数只能有一个where子句。20.7约束