一段时间以来,我一直在使用扩展方法来扩展现有类的功能。一个例子:
<System.Runtime.CompilerServices.Extension()> _
Public Sub DrawRoundedRectangle(graphics As Graphics, pen As Pen, x As Single, y As Single, width As Single, height As Single, radius As Single)
graphics.DrawRoundedRectangle(pen, x, y, width, height, radius, RectangleEdgeFilter.All)
End Sub
这很高兴地扩展了图形对象,以便我可以调用:e.graphics.DrawRoundedRectangle()
然而,Visual Studio 每隔一段时间就会报告:
DrawRoundedRectangle 不是 System.Drawing.Graphics 的成员
这意味着我由于错误而无法构建,并且除了重新启动 Visual Studio(耗时)之外,我还没有找到克服这些错误的方法。
我在各种不同的类上有许多扩展方法(目前大约 10 种),所有这些方法同时失败,这会产生 66 个错误。
我的问题是,在创建这些扩展方法时我是否遗漏了什么,或者有什么办法可以阻止这些错误的发生?