ContextBoundObject и операция is
От: ZARATUSTR Россия  
Дата: 15.05.07 03:36
Оценка:
public class A : ContextBoundObject
{
}

public class B : A
{
}

public class XXX
{
public static void Main(string[] args)
{
A a = new A();

if(a is B)
{
Console.WriteLine("!!!");
}
}
}


В результате объект а приведется к типу В (к своему потомку) может кто-нибудь объяснить?
Убираешь наследование от ContextBoundObject и не приводиться.
Re: ContextBoundObject и операция is
От: okumsky  
Дата: 15.05.07 05:09
Оценка:
Здравствуйте, ZARATUSTR, Вы писали:

...
ZAR>В результате объект а приведется к типу В (к своему потомку) может кто-нибудь объяснить?
ZAR>Убираешь наследование от ContextBoundObject и не приводиться.

Прочитай сначала Механизм контекстов в .NET
Автор(ы): Тимофей Казаков
Дата: 20.12.2003
Контексты не являются чем-то принципиально новым. однако нельзя сказать, что их использование широко распространено. Статья показывает, что может дать разработчику использование этой технологии.
и все станет ясно (если нет — спрашивай)
Re[2]: ContextBoundObject и операция is
От: ZARATUSTR Россия  
Дата: 15.05.07 09:56
Оценка:
Я читал, и не только эту статью про Remoting.

Операция is перегружена что ли для ContextBoundObject? тогда как то странно ...

Вот тебе вопрос:

— как я показывал тип родителя преобразется к потомку (кстати is не должен преобразовывать, а если смотреть в дебаге после is тип объекта реально меняется в приведенном примере), тогда почему если я добавляю агентский приемник (EnvoySink) при той же самой ситуации is работает так как ему положено и объект а не преобразуется в объект типа B ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.