gpt4 book ai didi

c# - 从方法泛型推断类型

转载 作者:行者123 更新时间:2023-11-30 06:38:00 26 4
gpt4 key购买 nike

我有 Java 背景,我正在从 C# 中的等效项中寻找以下内容。

public interface Reader {
<T> T read(Class<? extends T> type);
}

这样我就可以执行以下操作,限制参数并推断返回类型。

Cat cat = reader.read(Cat.class);
Dog dog = reader.read(Dog.class);

我希望像这样的东西能在 C# 中工作,但我不确定它会不会。

public interface Reader {
T Read<T>();
}

然后这样做。

public class TypeReader : Reader {
public T Read<T>() {
Type type = T.GetType();
...
}
}

在 C# 中甚至可以实现这样的事情吗?

最佳答案

是的,但您需要 typeof(T),而不是 T.GetType(),并且:

Cat cat = reader.Read<Cat>();

关于c# - 从方法泛型推断类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2717356/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com