gpt4 book ai didi

c# - 使用动态属性初始化惰性属性

转载 作者:太空宇宙 更新时间:2023-11-03 13:50:47 25 4
gpt4 key购买 nike

我想用反射动态地初始化一个惰性属性。

我在我的对象属性上循环,我想像这样创建这个属性的延迟加载:

Lazy<propertyInfo.propertyType> = new lazy<propertyInfo.propertyType>(() => methodInfo.invoke)

Lazy 不允许这样做。

有没有办法用反射来做到这一点? (也许是 activator.createinstance)

最佳答案

试试这个:

Lazy<object> lazyType = new Lazy<object>(() => {
return Activator.CreateInstance(propertyInfo.propertyType);
});

lazyType.Value;

当您访问 Value 属性时,Lazy 对象将调用 Func,然后返回您的属性类型的实例。

希望对你有帮助

关于c# - 使用动态属性初始化惰性属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13761480/

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