gpt4 book ai didi

c# - 对泛型和类型有点困惑

转载 作者:行者123 更新时间:2023-12-02 04:58:34 24 4
gpt4 key购买 nike

我想做这样的事情(大大简化了代码):

public class MyClass 
{

private Type _listingType = typeof(AntiqueSellerListing);

public DeleteEntity(int id)
{
// This is what I would like to do, but it does not compile
SystemLogic.DeleteItem<this._listingType>(id);

// But this does
SystemLogic.DeleteItem<AntiqueSellerListing>(id);
}
}

DeleteItem 方法定义如下:

public void DeleteItem<T>(int primaryKeyValue) where T : class

我可能在这里遗漏了一些简单的东西,但我不确定如何做我想做的事。

最佳答案

类型必须是编译时表达式,以便运行时可以为该方法生成代码。这是因为运行时无法保证在生成代码之前定义变量。例如,Ngen 工具允许在不运行任何代码的情况下预编译代码。

关于c# - 对泛型和类型有点困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17501829/

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