我正在使用Kentico Cloud和.Net SDK构建站点,并使用Lucene.Net提供搜索功能来存储索引项。
我想在搜索实现中从strongly typed model创建DeliveryClient.ContentItem。
我已经实现了这样的
var result = await client.GetItemAsync("home");
var item = result.Item; // ContentItem
// ToObject is my own implementation that does the conversion
return item?.ToObject(CustomTypeProvider.GetType(item?.system?.type));
我宁愿使用内置方法来获取强类型模型,而不是每次添加新的内容类型(To ToObject方法)时都必须使用需要更新的开关。
此问题是从官方Kentico Cloud论坛迁移而来的,将被删除。
答案 0 :(得分:0)
使用ContentItem.CastTo<object>()
作为泛型的DeliveryItemResponse.CastTo<object>()
方法(或DeliveryItemListingResponse.CastTo<object>()
/ object
)方法。
使用ContentItem.CastTo()
方法的示例
var result = await client.GetItemAsync("home");
var item = result.Item; // ContentItem
return item?.CastTo<object>() // Automatically converts to the desired strongly content type