Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Многоуровневое наследование WCF


Автор: AntiInt 22.1.2014, 08:28
Всем привет!

Кто сталкивался с таким:
есть следующая иерархия

Код

[DataContract]
abstract class A
{
}

[DataContract]
abstract class B:A
{
}

[DataContract]
class C:B
{
}


Как тут правильно навесить атрибуты KnownType

чтобы это заработало? Как с двухуровневой иерархией знаю и все книжки про это пишут, а вот с трех-уровневой глухо-глухо...

Автор: Certain 22.1.2014, 18:19
Код

[DataContract]
[KnownType(typeof(B))]
[KnownType(typeof(C))]
abstract class A
{
}
[DataContract]
[KnownType(typeof(C))]
abstract class B:A
{
}
[DataContract]
class C:B
{
}


или

Код

[ServiceContract]
    public interface IService
    {
        [OperationContract]
        [ServiceKnownType(typeof(B))]
        [ServiceKnownType(typeof(C))]
        bool IsRight(A value);

        [OperationContract]
        [ServiceKnownType(typeof(B))]
        [ServiceKnownType(typeof(C))]
        bool Add(A value);
    }


или

Код

[ServiceContract]
    [ServiceKnownType(typeof(B))]
    [ServiceKnownType(typeof(C))]
    public interface IService
    {
        [OperationContract]
        bool IsRight(A value);

        [OperationContract]
        bool Add(A value);
    }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)