gpt4 book ai didi

c# - 反射(reflect) op_implicit 表

转载 作者:太空宇宙 更新时间:2023-11-03 18:08:10 24 4
gpt4 key购买 nike

我目前正在寻找构建动态类型转换器,

例如,我可以轻松做到:

public struct Tester
{
public int Hello;

public static implicit operator int(Tester d)
{
return d.Hello;
}

public static implicit operator float(Tester d)
{
return d.Hello;
}
}

然后
typeof(Tester).GetMethods()

将返回我隐式转换 MethodInfo。

但是,如果我这样做:
typeof(int).GetMethods()

它不会返回任何 op_implicit

我看到你可以看到表 here ,但我想知道是否可以从框架本身反射(reflect)它。

请注意,这并不是真正的阻塞问题,如果不可能,我将手动从表中添加转换器,但我显然更喜欢动态构建(更干净且不易出错)。

最佳答案

基本类型的操作符没有在框架中定义——它们是 CLI 本身的一部分;基本上,他们有自己的特殊说明。不涉及 IL,没有方法,所以 MethodInfo引用。

如果你看System.Decimal ,但是,您会发现运算符是在框架本身中“仅”实现的。

(以稍微类似的方式,string 不声明 + 运算符;在 C# 中使用 + 被转换为对 string.Concat 的调用。)

关于c# - 反射(reflect) op_implicit 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22176415/

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