gpt4 book ai didi

c# - 您将如何发出类型的默认值?

转载 作者:太空狗 更新时间:2023-10-29 23:24:09 25 4
gpt4 key购买 nike

我想实现一个自动清除所有本地字段的接口(interface),目前我有:

// Implement IClearable
dynamicType.AddInterfaceImplementation(typeof(IClearable));

MethodBuilder clearnMethodBuilder = dynamicType.DefineMethod("Clear", MethodAttributes.Public | MethodAttributes.Virtual, CallingConventions.Standard);
ILGenerator clearMethodILGen = clearnMethodBuilder.GetILGenerator();

foreach (FieldBuilder localField in fields)
{
clearMethodILGen.Emit(OpCodes.Ldarg_0);
clearMethodILGen.Emit(OpCodes.Ldfld, localField);
clearMethodILGen.Emit(OpCodes.??, Profit??);
}

clearMethodILGen.Emit(OpCodes.Ret);

如何设置最后一步以保存字段的默认值?

最佳答案

类似于:

clearMethodILGen.Emit(OpCodes.Ldfld, localField);
clearMethodILGen.Emit(OpCodes.Initobj, localField.FieldType);

关于c# - 您将如何发出类型的默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15706509/

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