Скрыть родительский класс в библиотеке

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Скрыть родительский класс в библиотеке

Сообщение Roman Koff » 12.11.2008 (Ср) 10:08

В библиотеке классов есть класс _BaseDataClass на базе которого создается класс IntegerClass:
Код: Выделить всё
Public Class _BaseDataClass
   Private _Value As String = ""
   Overridable Property Value() As Object
      Get
         Return Me._Value
      End Get
      Set(ByVal value As Object)
         Me._Value = value
      End Set
   End Property
End Class
Public Class IntegerClass : Inherits _BaseDataClass
   Public Overrides Property Value() As Object
      Get
         Return CType(MyBase.Value, Integer)
      End Get
      Set(ByVal value As Object)
         MyBase.Value = value
      End Set
   End Property
End Class


Можно ли какнить скрыть класс _BaseDataClass , чтобы он не светился для пользователя библиотеки классов?
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: Скрыть родительский класс в библиотеке

Сообщение Nord777 » 12.11.2008 (Ср) 10:51

Friend ?
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Re: Скрыть родительский класс в библиотеке

Сообщение Roman Koff » 12.11.2008 (Ср) 11:26

Когда родительский класс объявляется как Friend он становится невидим для других классов библиотеки
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: Скрыть родительский класс в библиотеке

Сообщение Nord777 » 12.11.2008 (Ср) 17:37

Сделай у своих классов один Namespace.
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: Скрыть родительский класс в библиотеке

Сообщение Sebas » 12.11.2008 (Ср) 19:10

Roman Koff писал(а):Когда родительский класс объявляется как Friend он становится невидим для других классов библиотеки


неправда
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: Скрыть родительский класс в библиотеке

Сообщение Sebas » 12.11.2008 (Ср) 19:17

Nord777 писал(а):Friend ?


как Ты себе это представляешь? френдом можно только New пометить, а не класс.
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Re: Скрыть родительский класс в библиотеке

Сообщение Roman Koff » 12.11.2008 (Ср) 20:05

Sebas писал(а):неправда


Ну не нивидимым, а не наследуемым. Проблема не снята ...

Nord777 писал(а):Сделай у своих классов один Namespace.


Я так и понял ...
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Скрыть родительский класс в библиотеке

Сообщение Williams » 12.11.2008 (Ср) 21:06

Roman Koff писал(а):
Sebas писал(а):неправда


Ну не нивидимым, а не наследуемым. Проблема не снята ...

Nord777 писал(а):Сделай у своих классов один Namespace.


Я так и понял ...


Например

Namespace MyControl
...
End Namespace

Говорят о том, что для обоих классов следует прописать одно пространство имен.
И вы думаете, что вас оставят в живых после прочтения этого поста?

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: Скрыть родительский класс в библиотеке

Сообщение Sebas » 13.11.2008 (Чт) 0:09

Roman Koff писал(а):
Sebas писал(а):неправда


Ну не нивидимым, а не наследуемым. Проблема не снята ...


В таком случае, делать базовый класс нет смысла. Зачем?

Сделай конструктор Friend, тебе же сказали.
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Atoman
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 109
Зарегистрирован: 01.02.2008 (Пт) 6:36

Re: Скрыть родительский класс в библиотеке

Сообщение Atoman » 13.11.2008 (Чт) 0:17

Ненаследуемый Класс

Код: Выделить всё
Public NotInheritable Class Class1
    '...
End Class

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: Скрыть родительский класс в библиотеке

Сообщение Sebas » 13.11.2008 (Чт) 9:55

Atoman писал(а):Ненаследуемый Класс

Код: Выделить всё
Public NotInheritable Class Class1
    '...
End Class


2Atoman: Читаем пост внимательно. Классы в сборке должны наследовать объект.
В библиотеке классов есть класс _BaseDataClass на базе которого создается класс IntegerClass:
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Re: Скрыть родительский класс в библиотеке

Сообщение Roman Koff » 13.11.2008 (Чт) 13:05

С friend не прокатывает ни в каком случае.
С наймспейсами вариант реальный, но не элегантный. Вероятно остановлюсь на нем
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: Скрыть родительский класс в библиотеке

Сообщение Sebas » 13.11.2008 (Чт) 13:35

Roman Koff писал(а):С friend не прокатывает ни в каком случае.


ай ли?

Код: Выделить всё
Public Class Class1
    Friend Sub New()

    End Sub
End Class

Public Class Class2
    Inherits Class1

    Public Sub New()

    End Sub
End Class
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Re: Скрыть родительский класс в библиотеке

Сообщение Roman Koff » 14.11.2008 (Пт) 12:32

Sebas писал(а):ай ли?


При этом родительский класс виден пользователю.
Вопрос не в том, чтобы он не мог им воспользоваться, а чтобы он не видел его в перечне классов.
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: Скрыть родительский класс в библиотеке

Сообщение Sebas » 14.11.2008 (Пт) 13:06

Roman Koff писал(а):
Sebas писал(а):ай ли?


При этом родительский класс виден пользователю.
Вопрос не в том, чтобы он не мог им воспользоваться, а чтобы он не видел его в перечне классов.


Риторический вопрос: А зачем данный функционал делать как класс? Ответь и всё встанет на свои места)
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Re: Скрыть родительский класс в библиотеке

Сообщение Roman Koff » 15.11.2008 (Сб) 13:52

Допишу, выложу пример на обсуждение по поводу оптимизации. В двух словах не сказать...
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Скрыть родительский класс в библиотеке

Сообщение Williams » 15.11.2008 (Сб) 13:54

Я думаю что вы, друзья, ушли в дебри ООП :)
И вы думаете, что вас оставят в живых после прочтения этого поста?


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 120

    TopList