Reflection или как проверить - поддерживается ли интерфейс
От: XGhost  
Дата: 12.11.02 14:26
Оценка:
Хи всем!
Есть следующий вопрос — в функцию класса на C# передается интерфейс IX, т.е. ссылка на объект, поддерживающий интерфейс IX.
Могу ли я и как узнать — поддерживается ли этм объектом заодно интерфейс IY?

tnx
Re: Reflection или как проверить - поддерживается ли интерфе
От: Lloyd Россия  
Дата: 12.11.02 14:29
Оценка:
Здравствуйте XGhost, Вы писали:

XG>Хи всем!

XG>Есть следующий вопрос — в функцию класса на C# передается интерфейс IX, т.е. ссылка на объект, поддерживающий интерфейс IX.
XG>Могу ли я и как узнать — поддерживается ли этм объектом заодно интерфейс IY?

XG>tnx


Да, конечно можете


IX x;
if(x is IY){
  //что-то делаем
}
Re: Reflection или как проверить - поддерживается ли интерфе
От: kreek  
Дата: 12.11.02 14:29
Оценка:
Здравствуйте XGhost, Вы писали:

XG>Хи всем!

XG>Есть следующий вопрос — в функцию класса на C# передается интерфейс IX, т.е. ссылка на объект, поддерживающий интерфейс IX.
XG>Могу ли я и как узнать — поддерживается ли этм объектом заодно интерфейс IY?

XG>tnx


Посмотри Type.IsAssignableFrom
Re[2]: Reflection или как проверить - поддерживается ли инте
От: kreek  
Дата: 12.11.02 14:33
Оценка:
Здравствуйте Lloyd, Вы писали:

L>Здравствуйте XGhost, Вы писали:


XG>>Хи всем!

XG>>Есть следующий вопрос — в функцию класса на C# передается интерфейс IX, т.е. ссылка на объект, поддерживающий интерфейс IX.
XG>>Могу ли я и как узнать — поддерживается ли этм объектом заодно интерфейс IY?

XG>>tnx


L>Да, конечно можете


L>

L>

А при?
class A: IX{...}
и
class B: IX, IY{...}

void DoSomething(IX x)
L>IX x;
L>if(x is IY){
L>  //что-то делаем
L>}
L>
Re[3]: Reflection или как проверить - поддерживается ли инте
От: Lloyd Россия  
Дата: 12.11.02 14:35
Оценка:
Здравствуйте kreek, Вы писали:

L>>

L>>

K>А при?
K>class A: IX{...}
K>и
K>class B: IX, IY{...}

K>void DoSomething(IX x)
L>>IX x;
L>>if(x is IY){
L>>  //что-то делаем
L>>}
L>>


Да без разницы. Все съест
Re[4]: Reflection или как проверить - поддерживается ли инте
От: kreek  
Дата: 12.11.02 14:54
Оценка:
Здравствуйте Lloyd, Вы писали:

L>Здравствуйте kreek, Вы писали:


L>>>

L>>>

K>>А при?
K>>class A: IX{...}
K>>и
K>>class B: IX, IY{...}

K>>void DoSomething(IX x)
L>>>IX x;
L>>>if(x is IY){
L>>>  //что-то делаем
L>>>}
L>>>


L>Да без разницы. Все съест


Точно.
Re[5]: Reflection или как проверить - поддерживается ли инте
От: XGhost  
Дата: 13.11.02 07:04
Оценка:
Здравствуйте kreek, Вы писали:

K>Здравствуйте Lloyd, Вы писали:


L>>Здравствуйте kreek, Вы писали:


L>>>>

L>>>>

K>>>А при?
K>>>class A: IX{...}
K>>>и
K>>>class B: IX, IY{...}

K>>>void DoSomething(IX x)
L>>>>IX x;
L>>>>if(x is IY){
L>>>>  //что-то делаем
L>>>>}
L>>>>


L>>Да без разницы. Все съест


K>Точно.


Всем спасибо. Пойду рыть дальше )))
Re[2]: Reflection или как проверить - поддерживается ли инте
От: XGhost  
Дата: 13.11.02 07:15
Оценка:
Здравствуйте kreek, Вы писали:

K>Здравствуйте XGhost, Вы писали:


XG>>Хи всем!

XG>>Есть следующий вопрос — в функцию класса на C# передается интерфейс IX, т.е. ссылка на объект, поддерживающий интерфейс IX.
XG>>Могу ли я и как узнать — поддерживается ли этм объектом заодно интерфейс IY?

XG>>tnx


K>Посмотри Type.IsAssignableFrom

Спасибо.

(Л) Век живи, век учись, дураком помрешь
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.