2

我目前在使用Simple.OData.Client检索对象时遇到问题。

这是调用,使用的实例ODataClient

RecurringObjectView model = await client.For<RecurringObjectView>("RecurringObjects")
                                        .Key(id)
                                        .Expand(r => r.RecurrenceSetting)
                                        .FindEntryAsync();

我能够跟踪来自 API 的数据,一切都很好。下面是服务器返回的 Json 的摘录。

{
    "RecurrenceSetting": {
        "@odata.type":"#Namespace.Of.The.DailyRecurrenceSettingView",
        "Id":16
        // more settings...
     }
     // more values...
}

问题是RecurrenceSetting对象是抽象的,反过来又给出了以下错误......

无法创建RecurrenceSettingView没有默认构造函数的类型的实例。

出于参考目的,这里是类定义的摘录...

public class RecurringObjectView
{
    public int Id { get; set; }

    public virtual RecurrenceSettingView RecurrenceSetting { get; set; }

    // loads more properties...
}


public abstract class RecurrenceSettingView
{
    public int Id { get; set; }

    // common recurrence setting properties...
}

public class DailyRecurrenceSettingView :
    RecurrenceSettingView
{
    // daily specific settings...
}
4

0 回答 0