我有一个界面
Public Interface IPlotSurface2D
WriteOnly Property PlotBackBrush() As IRectangleBrush
End Interface
这是实现接口的类
Public Class PlotSurface2D
Implements IPlotSurface2D
Public WriteOnly Property PlotBackBrush() As IRectangleBrush _
Implements IPlotSurface2D.PlotBackBrush
Set(value As IRectangleBrush)
Me.plotBackBrush_ = DirectCast(value, IRectangleBrush)
Me.plotBackColor_ = DirectCast(Nothing, Object)
Me.plotBackImage_ = DirectCast(Nothing, Drawing.Bitmap)
End Set
End Property
End Class
我得到了以下编译错误:
错误86'PlotBackBrush'不能通过类'PlotSurface2D'在项目外部公开类型'IRectangleBrush'。
我该如何解决这个问题?
答案 0 :(得分:1)
可能IRectangleBrush
不公开。公开。
注意:由于接口IPlotSurface2D
是公共的,因此它希望公开(并且必须公开)它公开引用的所有类型。作为一般规则,我们可以说,由另一种类型公开的任何类型的访问级别不得比这种类型的访问级别更具限制性。
答案 1 :(得分:0)
对于错误“无法通过模块公开项目外的类型......”
我在'Module'之前插入'public'来定义类型:Structure ... End Structure