需要编写一个通用方法,该方法返回从包装对象获取的数据对象列表(传递给它)
好的,基本上我需要创建一个通用方法,它接受前端对象列表,检索每个前端对象的包装数据对象并返回数据对象列表。
我已经在单例类中编写了这个方法。
public IEnumerable<T> GetDataItemsFromFrontend<T>(IEnumerable<T> frontendItems)
{
List<T> dataItems = new List<T>();
foreach(T frontendItem in frontendItems)
{
dataItems.Add(T.GetDataItem());
}
return dataItems;
}
很自然,T.GetUser() 不存在。为了让您更好地了解我打算做什么:
我有一个名为 User 的实体对象(由实体模型框架生成)。为了向 User 添加功能,我创建了一个名为 ClassFrontend 的包装对象,其中类被相关实体标题替换(例如,UserFrontend、RoleFrontend 等)。
我将前端类中的实体对象称为 Data。
现在我想要一个通用方法,我给它一个前端项目列表,它给我一个实体对象列表 - 自然该列表将是相同类型的:例如所有 UserFrontend 或所有RoleFrontend 等。
谢谢。
Ok, so basically I need to create a generic method which takes a list of frontend objects, retrieves the wrapped data object of each frontend object and returns a list of data objects.
I have written this method inside a singleton class.
public IEnumerable<T> GetDataItemsFromFrontend<T>(IEnumerable<T> frontendItems)
{
List<T> dataItems = new List<T>();
foreach(T frontendItem in frontendItems)
{
dataItems.Add(T.GetDataItem());
}
return dataItems;
}
Quite naturally, T.GetUser() does not exist. To give you a better idea of what I intend to do:
I have an entity object called User (generated by the Entity-Model Framework). To add functionality to User, I created a wrapper object called ClassFrontend where class is replaced by the entity title in question (for example, UserFrontend, RoleFrontend, etc).
I called the entity object inside the frontend class Data.
Now I would like to have a Generic method, which I give it a list of frontend items, and it gives me back a list of entity objects - naturally the list would be all of the same type: example all of UserFrontend, or all of RoleFrontend, etc.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我会让前端对象实现如下所示的接口:
I would make the FrontEnd objects implement an interface like below:
使用
GetDataItem()
方法创建一个接口,在所有实体中实现它,并将您的方法限制为where T : IYourEntity
。Create an interface with a
GetDataItem()
method, implement it in all of the entities, and constrain your method towhere T : IYourEntity
.