gpt4 book ai didi

c# - 具有约束的通用方法与非通用方法

转载 作者:太空宇宙 更新时间:2023-11-03 23:28:17 25 4
gpt4 key购买 nike

<分区>

这个问题专门针对泛型方法(不是类)。

下面两种说法有什么区别?

public bool MyMethod<T>(T t) where T : IMyInterface {}

public bool MyMethod(IMyInterface t) { }

第一个语句定义了一个泛型方法并约束了类型,第二个语句是一个非泛型方法并指定了参数的类型。你为什么要用一个而不是另一个?

或者,类似的例子:

public class LibraryItem
{
public string Title;
public int Stock;
}

public void CheckIn<T>(T item) where T : LibraryItem
{
item.Stock += 1;
}

public void CheckIn2(LibraryItem item)
{
item.Stock += 1;
}

同样,使用通用版本比使用非通用版本有什么优势?

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