Как отобразить защищенные внутренние свойства - PullRequest
0 голосов
/ 01 октября 2019

Я хотел бы знать, как я могу сопоставить через ValueInjecter свойства, которые защищены внутренне?

У меня есть абстрактный базовый класс. Поскольку этот класс отражает данные dataTable, он содержит все поля этой таблицы. некоторые свойства активируются в зависимости от конкретного класса.

На примере это должно быть проще для понимания.

абстрактный класс Уровни {

public string Name {get;set;}

открытая строка Code {get; set;}

защищенный внутренний короткий DeliveryType {get; set;}

защищенный внутренний десятичный OverunAllowed {get; set;}

}

класс Заказчик: Уровни {

общедоступное новое десятичное число OverrunAlowed

{

get {return base.OverrunAllowed;}

set {base.OverrunAllowed = value;}

}

}

Class Provider: Tiers {

public new short DeliveryType

{

get {return base.DeliveryType;}

set {base.DeliveryType = value;}

}

}

Это мои бизнес-классы. У меня точно так же на стороне WebServices.

WebServices.Provider и WebServices.Customer наследуется от WebServices.Tiers.

Затем я пытаюсь сопоставить

Business.Customerв и из WebServices.Customer

Business.Provider в и из WebServices.Provider

Но ValueInjecter не отображает защищенные внутренние свойства. Я попытался «привести» мой экземпляр Business к Business.Tiers, а мой экземпляр WebServices - к WebServices.Tiers, а затем отобразить Business.Tiers на и из Webservices.Tiers. Но это не сработает. Есть ли другая техника для выполнения этой глубокой "копии"?

Спасибо

...