在本地更改 T 类型 int window
Changing T type int in local window
我无法从本地变量或直接 window 更改此 "value" 变量。
怎么了?运行时不是 int 吗?
我无法更改 _value too.I 认为这是错误还是什么?
class Program
{
static void Main(string[] args)
{
Just<int> just = new Just<int>();
just.Try(5);
}
}
class Just<T>
{
private T _value;
public void Try(T value)
{
this._value = value;
}
}
Beside using this, tried to use instance of Just, worked fine
这个错误是"normal"。
看起来,调试器没有获得您输入的值 T = int
,而只是作为 int
(它写在调试器上,它期望一个 int
),然后尝试转换你的 int
到 T
。即使 T
是 int
类型,它也不能隐式地进行转换(通常你只需要转换你的值来解决这种错误),它可能会在运行中重新编译你的值用于编译代码的相同配置。并且在此配置中 value
是 T = unknown
类型,而不是 T = int
.
我想即时更改值并不像运行时那样有效。因为在运行时,T = int
(比我更了解 compiler/debugger 行为的人,也许可以向您详细解释这里发生的事情。)
但是就像在这个方法中:
public void Try(int value)
{
// With _value as T
_value = value;
}
您最终会收到相同的错误消息(并且无法编译)。
Error CS0029 Cannot implicitly convert type 'int' to 'T'
但是如果您在调试器中将其作为值(对于您的方法)键入:
(T)(object)10 // Or whatever your int value is
或者上面的测试方法(你真的应该避免):
_value = (T)(object)value;
有效,值已更改。 (除非你的值不是 T
类型)
您已明确将 int
转换为 T
。
没有错,这只是一个标准的非泛型到泛型的转换错误。
这是表达式计算器中的一个已知错误。有一个 GitHub 问题跟踪此错误 here
我无法从本地变量或直接 window 更改此 "value" 变量。
怎么了?运行时不是 int 吗?
我无法更改 _value too.I 认为这是错误还是什么?
class Program
{
static void Main(string[] args)
{
Just<int> just = new Just<int>();
just.Try(5);
}
}
class Just<T>
{
private T _value;
public void Try(T value)
{
this._value = value;
}
}
Beside using this, tried to use instance of Just, worked fine
这个错误是"normal"。
看起来,调试器没有获得您输入的值 T = int
,而只是作为 int
(它写在调试器上,它期望一个 int
),然后尝试转换你的 int
到 T
。即使 T
是 int
类型,它也不能隐式地进行转换(通常你只需要转换你的值来解决这种错误),它可能会在运行中重新编译你的值用于编译代码的相同配置。并且在此配置中 value
是 T = unknown
类型,而不是 T = int
.
我想即时更改值并不像运行时那样有效。因为在运行时,T = int
(比我更了解 compiler/debugger 行为的人,也许可以向您详细解释这里发生的事情。)
但是就像在这个方法中:
public void Try(int value)
{
// With _value as T
_value = value;
}
您最终会收到相同的错误消息(并且无法编译)。
Error CS0029 Cannot implicitly convert type 'int' to 'T'
但是如果您在调试器中将其作为值(对于您的方法)键入:
(T)(object)10 // Or whatever your int value is
或者上面的测试方法(你真的应该避免):
_value = (T)(object)value;
有效,值已更改。 (除非你的值不是 T
类型)
您已明确将 int
转换为 T
。
没有错,这只是一个标准的非泛型到泛型的转换错误。
这是表达式计算器中的一个已知错误。有一个 GitHub 问题跟踪此错误 here