gpt4 book ai didi

c# - 无法将类型 'Int' 隐式转换为 'T'

转载 作者:IT王子 更新时间:2023-10-29 03:40:37 27 4
gpt4 key购买 nike

我可以打电话Get<int>(Stat);Get<string>(Name);

但是在编译时我得到:

Cannot implicitly convert type 'int' to 'T'

对于string也是一样的.

public T Get<T>(Stats type) where T : IConvertible
{
if (typeof(T) == typeof(int))
{
int t = Convert.ToInt16(PlayerStats[type]);
return t;
}
if (typeof(T) == typeof(string))
{
string t = PlayerStats[type].ToString();
return t;
}
}

最佳答案

你应该可以只使用 Convert.ChangeType()而不是您的自定义代码:

public T Get<T>(Stats type) where T : IConvertible
{
return (T) Convert.ChangeType(PlayerStats[type], typeof(T));
}

关于c# - 无法将类型 'Int' 隐式转换为 'T',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8171412/

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