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 и не приводиться.
Я читал, и не только эту статью про Remoting.
Операция is перегружена что ли для ContextBoundObject? тогда как то странно ...
Вот тебе вопрос:
— как я показывал тип родителя преобразется к потомку (кстати is не должен преобразовывать, а если смотреть в дебаге после is тип объекта реально меняется в приведенном примере), тогда почему если я добавляю агентский приемник (EnvoySink) при той же самой ситуации is работает так как ему положено и объект а не преобразуется в объект типа B ?