我正在使用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云论坛迁移的,将被删除。
使用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