gpt4 book ai didi

c# - 使用相同类型的类定义 where 关键字

转载 作者:行者123 更新时间:2023-11-30 14:59:22 25 4
gpt4 key购买 nike

我在我正在使用的库中看到过这种定义。我对 TObjectType: CSObject 的位置感到疯狂。很明显,我似乎可以在约束中使用相同的时间,因为它可以工作和编译,但这到底意味着什么?

public class CSList<TObjectType>: CSList, IList<TObjectType>, IList
where TObjectType: CSObject<TObjectType>

最佳答案

意思是TObjectType这里必须继承自CSList<TObjectType> .

通常,您使用此构造来获取基类上的类型化方法和属性,以适应您打算使用的实际派生类。

要声明这样一个派生类:

public class SomeDerivedClass : CSList<SomeDerivedClass>

例子:

public class Base<T>
{
public T[] Values { get; set; }
}

public TestCollection : Base<TestCollection>
{
// here, Values inherited from Base will be:
// public TestCollection[] Values { get; set; }
}

public OtherCollection : Base<OtherCollection>
{
// here, Values inherited from Base will be:
// public OtherCollection[] Values { get; set; }
}

关于c# - 使用相同类型的类定义 where 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16893286/

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