pac*_*nga 5 c# reflection mono boxing
假设我有一个原始值,我需要使用反射分配给某个字段.我确信该字段具有相同的原始值类型.
是否有可能以某种方式设置这个值没有拳击?
void SetFloat(object o, string name, float val)
{
var type = o.GetType();
var fld = type.GetField(name);
fld.SetValue(o, val /*boxing happens here*/);
}
Run Code Online (Sandbox Code Playgroud)
PS这不是关于延迟,而是关于可能的GC压力.我正在使用Unity3D,它使用的是旧的Mono版本,而后者又使用非常优化的GC实现.每个额外的内存分配计数:(
PPS我正在构建自己的基于C#的解释器,避免反射似乎几乎不可能.
| 归档时间: |
|
| 查看次数: |
472 次 |
| 最近记录: |