Web API サービスから Appication オブジェクトを取得しようとする以下のコードがあります。次の例外が発生します。
InnerException = {"タイプ BusinessEntities.WEB.IApplicationField のインスタンスを作成できませんでした。タイプはインターフェイスまたは抽象クラスであり、インスタンス化できません。パス '_applicationFormsList[0]._listApplicationPage[0]._listField[0]._applicationFieldID'、行1、194位。」}。
FieldList を Interface に変更すると、オブジェクトの逆シリアル化で問題が発生する理由がわかりません。どんなポインタでも大歓迎です。
Task<HttpResponseMessage> task = HttpClientDI.GetAsync(someUri);
HttpResponseMessage response = task.Result;
HttpClientHelper.CheckResponseStatusCode(response);
try
{
Application application = response.Content.ReadAsAsync<ApplicationPage>().Result;
return application;
}
catch (Exception ex)
{
throw new ServiceMustReturnApplicationException(response);
}
[Serializable]
public class ApplicationPage
{
#region Properties
public int PageOrder { get; set; }
public string Title { get; set; }
public string HtmlPage { get; set; }
public int FormTypeLookupID { get; set; }
List<IApplicationField> _listField = new List<IApplicationField>();
public List<IApplicationField> FieldList
{
get { return _listField; }
set { _listField = value; }
}
}