0

我正在发布一个公共类作为我的 C# 框架的一部分,以便用户能够在我的应用程序中注册。我不希望用户扩展我的课程,所以我标记了它sealed。现在我有一些用户报告说他们在该类中看到的方法比我提供的方法多。经过一番调查,这些用户似乎已经定义了扩展方法(通过智能感知),就像它们是在我的公共密封类中定义的一样。

问题 有没有办法禁止用户在我的公共密封类上定义扩展方法?

4

1 回答 1

8

不,你不能。老实说,我不明白你为什么要这么做。如果您有想要使用扩展方法的用户,请让他们这样做。没有人会强迫他们这样做,这可能会让他们的生活更轻松。至少由于您的类型是密封的,您知道如果有人报告意外可用的方法,它们一定是扩展方法。

请注意,任何人都可以在 上定义扩展方法object,并且始终可用,即使有一种方法可以仅在您的类上禁止扩展方法。

于 2012-06-23T19:51:12.277 回答