Я занимаюсь разработкой библиотеки классов, которая будет использоваться в нескольких проектах.
В моей библиотеке классов есть класс "Shape", который имеет ряд свойств.Одним из этих свойств является «Измерения», возвращающий класс со свойствами «Высота», «Ширина» и «Глубина».
Как запретить отображение класса Dimension в редакторе, в то время как он свободно доступен в классебиблиотека?
Я поместил команду в файл класса, но это скрывает ее в библиотеке и моем приложении.
<ComponentModel.EditorBrowsable(ComponentModel.EditorBrowsableState.Never)> _
Я также изменил модификатор доступа к классу на Friend,но это препятствует общедоступному доступу к свойству в классе Shape при вызове вне библиотеки классов.
Все, что я хочу сделать, - это предотвратить создание экземпляра класса Dimension вне библиотеки классов.
Спасибо.
Это функция кода, которую я хотел бы достичь:
Interface IShape
ReadOnly Property Properties() As ShapeProperties
End Interface
Public Class Shape
Implements IShape
Dim _Properties As New ShapeProperties(0, 0, 0)
Sub New()
_Properties = New ShapeProperties(3, 4, 5)
End Sub
Public ReadOnly Property Properties() As ShapeProperties Implements IShape.Properties
Get
Return _Properties
End Get
End Property
End Class
Friend Class ShapeProperties
Dim _Height As Integer = 0
Dim _Width As Integer = 0
Dim _Depth As Integer = 0
Friend Sub New(ByVal h As Integer, ByVal w As Integer, ByVal d As Integer)
_Height = h
_Width = w
_Depth = d
End Sub
Private ReadOnly Property Height() As Integer
Get
Return _Height
End Get
End Property
Private ReadOnly Property Width() As Integer
Get
Return _Width
End Get
End Property
Private ReadOnly Property Depth() As Integer
Get
Return _Depth
End Get
End Property
End Class
Я не смог скомпилировать библиотеку классов в приведенном выше коде.Я хочу, чтобы ShapeProperties был доступен только в классе Shape, а не сам по себе.Единственный способ решить эту проблему - это изменить свойство доступа ShapeProperties, что не то, что мне нужно.
ClassLibrary.Shape в порядке, но ClassLibrary.Properties - нет.