gpt4 book ai didi

c# - 可移植类库反射 GetField

转载 作者:太空狗 更新时间:2023-10-29 20:17:08 24 4
gpt4 key购买 nike

我目前正在尝试将 Xamarin.iOS 应用程序库转换为 PCL。我有这段无法编译的代码:

    private void SetPrivateField<T>(object item, string fieldName, object value) {
typeof(T).GetField(fieldName, BindingFlags.Instance | BindingFlags.NonPublic)
.SetValue(item, value);
}

如您所见,我正在尝试为一个类型设置一个私有(private)字段。还有别的办法吗?

编辑这编译。它会做同样的事情吗?

 private void SetPrivateField<T>(object item, string fieldName, object value) {
typeof(T).GetRuntimeField(fieldName).SetValue(item,value);
}

最佳答案

这最终成为正确的代码。

private void SetPrivateField<T>(object item, string fieldName, object value) {
typeof(T).GetTypeInfo().GetDeclaredField(fieldName).SetValue(item,value);
}

关于c# - 可移植类库反射 GetField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20506408/

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