Я создал унаследованный класс «StorageMedium» из базы, которую я назвал «DataTypes».
StorageMedium имеет два свойства: Name () и Capacity ().
В объекте DataTypes, от которого унаследованы все другие объекты в библиотеке классов, я исключил функции Equals, ReferenceEquals, GetHashCode, ToString и GetType, поэтому эти функции не доступны для просмотра в редакторе Visual Studio.
Цель заключается в том, что библиотека классов в конечном итоге будет использоваться пользователями, не являющимися "программистами", и я хочу скрыть любой ненужный код или функции, с которыми они могут столкнуться.
У меня есть второй класс, который «создает» экземпляры StorageMedium:
Shared ReadOnly Property DVD() As StorageMedium
Get
Return New StorageMedium(NewMedium.DVD)
End Get
End Property
Shared ReadOnly Property CD() As StorageMedium
Get
Return New StorageMedium(NewMedium.CD)
End Get
End Property
На моей веб-странице я хочу вызвать класс создания, создать экземпляр StorageMedium и отобразить имя и емкость в виде строки с именем и мощностью
Response.Write(StorageMedium.Utils.DVD)
DVD: 4.7Gb
Однако, когда я использую метод Response.Write, он отображает полное имя класса
Response.Write(StorageMedium.Utils.DVD)
LC.Utils.Convert.Computer.DataType.StorageMedium
Справедливо предположить, что это, вероятно, вызвано подавлением базовых функций Объекта, однако есть ли способ «подцепить» или воссоздать функцию по умолчанию, чтобы использовать функциональность ToString без создания свойства, такого как «ToOutput» в
отобразить объект как требуется?
Спасибо.