将 ContentItem 转换为强类型

Cast ContentItem to the strongly type

我正在构建一个站点,使用 Kentico Cloud with .Net SDK providing search functionality using the Lucene.Net 来存储索引项。

我想在搜索实现中创建 strongly typed model from 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 方法)。

This question is a migrated from official Kentico Cloud Forum, that would be deleted.

使用 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

使用 ContentItemResponse.CastTo 方法的示例