gpt4 book ai didi

c# - 通用列表的扩展方法

转载 作者:行者123 更新时间:2023-12-01 15:14:41 25 4
gpt4 key购买 nike

我对 C# 很陌生,有两个关于通用列表和扩展方法的问题。抱歉,如果问题有点愚蠢..

有什么区别:

public static IObjectWithTempID FindByTempID
(this ObservableCollection<IObjectWithTempID > list, long tempID)

public static IObjectWithTempID FindByTempID< E >
(this ObservableCollection< IObjectWithTempID > list, long tempID)

我尝试阅读该主题,但仍然不明白:$

我遇到了一个奇怪的问题。当我声明一个 ObservableCollection 时,例如这个

ObservableCollection<TestObjectWithTempID> a =
new ObservableCollection<TestObjectWithTempID>();

可以调用扩展方法

public static long FindByTempID
(this IEnumerable< IObjectWithTempID > list, long tempID){}

在列表中。令人惊讶的是不可能调用扩展方法

public static long FindByTempID
(this ObservableCollection< IObjectWithTempI D> list, long tempID){}
不过。我在这里错过了什么?

最佳答案

对于 2,它需要是:

TheMethod<T>(ObservableCollection<T> list)
where T : ISomeInterface

否则,您可以尝试将任何 ISomeInterface 实例添加到更具体的列表中。

关于c# - 通用列表的扩展方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3937214/

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