将 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
方法的示例
我正在构建一个站点,使用 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
方法的示例