gpt4 book ai didi

c# - 接口(interface)的转换

转载 作者:搜寻专家 更新时间:2023-11-01 01:11:47 26 4
gpt4 key购买 nike

接口(interface)提供了一种有用的抽象能力。可以让类 Foo 实现一些接口(interface),比如 A、B 和 C。一些客户端代码可能会获得 A 类型的引用,其他代码可能会获得 B 类型的引用,等等。每个实际上都是相同的 Foo 对象,但接口(interface)只公开一个狭窄的功能的子集。当然,恶意客户端代码可以尝试将 A 引用转换为 Foo,然后访问其他功能。如何防止这种情况发生?

最佳答案

这被称为“恶意转换”,您可以通过使用仅实现您想要公开的窄接口(interface)的包装器来防止它(通过委托(delegate)对对象的私有(private)引用,否则您将直接传递给邪恶的对象客户)。

但是,如果客户端不仅邪恶,而且还很强大,他可能无论如何都可以使用反射来获取隐藏的引用。

关于c# - 接口(interface)的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2621314/

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