Я изучаю WCF, и одна из проблем, с которыми я сталкиваюсь сегодня, заключается в реализации этого проекта:
[DataContract]
public class MyOwnFaultException : FaultException<MyResult>
{
public MyOwnFaultException(MyResult result) : base(result) {}
}
[DataContract]
public class MyResult
{
readonly DefinedResults dres;
public MyResult(DefinedResults res) {
dres = res;
}
[DataMember]
public DefinedResults DRes
{
get { return this.dres; }
//do not want to have the setter for this, but w.o it .net throws exception
}
}
[DataContract]
public enum DefinedResults
{
Success = 0,
Fail = 1,
}
Услуги
[OperationContract]
[FaultContract(typeof(MyOwnFaultException))]
void TestRemoteException();
Итак, естественно, когда я пытаюсь создать ссылку на мой «неисправный» сервис, я получаю исключение «Нет набора для DRes», которое понято. Но как реализовать шаблон поля «только для чтения» в объекте значения, используемом для индикатора результата?