gpt4 book ai didi

c# - 在 C# 中强制实现通用接口(interface)

转载 作者:太空狗 更新时间:2023-10-29 18:23:43 25 4
gpt4 key购买 nike

无论如何,是否强制对通用定义进行约束以实现“通用接口(interface)”……也就是说,我希望该类支持传递接口(interface)和通用类来约束它,以便该类实现该接口(interface)。例如,如果我说:

MyGenericClass<IMyInterface, MyImplementation>.DoSomething();

这应该受到约束,以便 MyImplementation 实现 IMyInterface

据我所知可以通过

public class Dynamic_Loader<T, S> where S: T

现在,有没有办法强制 T 成为一个接口(interface)?

编辑:这样做的目的是:

private static List<T> interfaceList = new List<T>();

public static List<T> InterfaceList {get { return interfaceList;}}

public static void Add(S input) { interfaceList.Add(input);}

并将列表限制为仅接口(interface)(因为它应该返回某些接口(interface)的实现)

最佳答案

你的意思是,也可以对 T 施加约束吗?喜欢where T : interface ?

如果是,则:this list几乎涵盖了您的选择。

我相信,您所拥有的已经很接近了。

出于好奇,您想要限制 T 的原因是什么?成为一个接口(interface)?

或者您的意思是可以对 T 施加约束吗?对于 T 实现一些特定接口(interface)?

如果是这样,那么:只要有两个where子句(例如 where S : T where T : U )。

关于c# - 在 C# 中强制实现通用接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3600696/

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