gpt4 book ai didi

c# - 当我们可以用纯反射做同样的事情时,为什么要使用 PrivateObject

转载 作者:行者123 更新时间:2023-11-30 23:33:24 25 4
gpt4 key购买 nike

我读了this thread我想知道为什么有人应该使用 PrivateObject。我看不到任何通过纯反射在这么多步骤中无法实现的值(value)。此外,PrivateObject 还使用了反射。

该类是否有任何优于反射的用途?考虑一下:

var myProp = typeof(MyClass).GetProperty("Name", BindingFlags.Instance | BindingFlags.NonPublic);

结束

var myProp = new PrivateObject(typeof(MyClass)).GetFieldOrProperty("Name");

我注意到有一个很小的区别,我不需要知道实际的访问修饰符,但我看不出两者有什么进一步的优势?你呢?

最佳答案

Private 这样的范围并不意味着是一种安全功能。它们是提高可维护性的功能。

想象一个包含数百万行代码的软件,您不知道哪些类可以使用,哪些不可以。

它可以更轻松地控制您的类(class)及其组织。

关于c# - 当我们可以用纯反射做同样的事情时,为什么要使用 PrivateObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33959587/

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