Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сталкивался ли кто... / 7 сообщений из 7, страница 1 из 1
17.06.2004, 17:01
    #32565864
YaNN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сталкивался ли кто...
Обнаружил такую фигню: есть класс A который использует(не наследует) некий интерфейс, который он получает от объекта класса B(который лежит в А).
если написать получение этого интерфейса в конструкторе, то все нормально.
как только переносим получение в метод-не конструктор, с соответсвующим объектом для хранения этого интерфейса то программа не работает, так как надо и вылазит exception с полным бредом.
Так работает:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
 protected ObjB B = null; 
	private IB D=null; // --тот интерфейс
 
	
	public CryptoDecryptor()
		{ ObjB = SymmetricAlgorithm.Create("Rijndael");
                             IB = ObjB.GetInterface();
......
А так нет():
Код: plaintext
1.
2.
3.
4.
5.
      какой-то метод класса A
      public method ()
      {
         private IB D=ObjB.GetInterface();
      }
все, что использует интерфейс лежит в method.
...
Рейтинг: 0 / 0
17.06.2004, 17:25
    #32565928
YaNN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сталкивался ли кто...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
protected ObjB B = null; 
	private IB D=null; // --тот интерфейс
 
	
	public ObjA() //конструктор
		{ ObjB = SymmetricAlgorithm.Create("Rijndael");
                             IB = ObjB.GetInterface();
......
так правильней
...
Рейтинг: 0 / 0
17.06.2004, 17:29
    #32565941
Ustazz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сталкивался ли кто...
Так правильней

Код: plaintext
1.
B = SymmetricAlgorithm.Create("Rijndael");
D = ObjB.GetInterface();
...
Рейтинг: 0 / 0
17.06.2004, 17:30
    #32565944
Ustazz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сталкивался ли кто...
сам сглупил...

Код: plaintext
1.
B = SymmetricAlgorithm.Create("Rijndael");
D = B.GetInterface();
...
Рейтинг: 0 / 0
17.06.2004, 17:41
    #32565966
YaNN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сталкивался ли кто...
я конечно описался...
но GetInterface я вызываю у экземпляра класса. т.е. B.GetInterface.
Но это ничего не меняет.
....
ладно, надо было сразу правильно написать

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
protected ObjB B = null; 
private IB D=null; // --тот интерфейс
 
	
public ObjA()//Конструктор
	{               B = ObjB.Create("Rijndael");
                             D = B.GetInterface();
......

 
 

А так нет:
Код: plaintext
1.
2.
3.
4.
5.
6.
      какой-то метод класса A
      public method ()
      {
         private IB D=B.GetInterface();
      }
 
 
Вроде более понятно.
...
Рейтинг: 0 / 0
18.06.2004, 14:43
    #32567476
YaNN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сталкивался ли кто...
Выяснилось что это происходило из-за глюков в операционки.
Сегодня все нормально.
...
Рейтинг: 0 / 0
21.06.2004, 11:58
    #32569312
Valery Shiskin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сталкивался ли кто...
Ключевое слово private не стоит ( и нельзя ) использовать внутри тела метода.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сталкивался ли кто... / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]