Extension Method不是Class的成员

时间:2013-01-28 14:58:32

标签: vb.net visual-studio-2010 compiler-errors

一段时间以来,我一直在使用扩展方法来扩展现有类的功能。一个例子:

<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个错误。

我的问题是,在创建这些扩展方法时是否有任何遗漏,或者是否可以采取任何措施来阻止这些错误发生?

1 个答案:

答案 0 :(得分:5)

您是否在公共模块中定义了扩展程序? 试图'重建解决方案',它是否解决了这个问题?