【发布时间】:2018-05-23 15:30:34
【问题描述】:
我想有一个方法可以在我拥有的其他对象(例如:奖品、人员、团队等)上执行此代码,因此我不必多次编写相同的代码,只需假设 GetMaxId(List 个人,Person person)。 我的每个对象都有一个 Id 属性。 我正在使用它,所以当我通过 winform 应用程序中的用户输入保存到文本文件时,我可以根据文本文件中的当前人数(例如 Persons)生成大 1 的 id。
public static int GetMaxId(List<Prize> prizes, Prize prize)
{
int maxId = 1;
if (prizes.Count > 0)
maxId = prizes.Max(p => p.Id) + 1;
prize.Id = maxId;
return prize.Id;
}
所以,我想要的是在每个类中,例如,我想在创建一个新人时返回该人的 id,但我不想修改代码以获取 Prize 的参数并拥有将其更改为人员。 我想要一个采用通用参数的方法,所以当我在 Person 类中调用它时,我可以只传递(列表人员,Person person)。
我不知道在原始方法中传递哪种类型,以便我可以在其他类中重用它。
【问题讨论】:
-
您使用哪种编程语言?你必须给我们更多的细节。你想让函数作为参数不同的对象吗?你想让所有的类都有这样的方法吗?看看继承和接口。用这么少的信息是不可能给出答案的。
-
@FrancescoBoi 很抱歉没有足够的澄清。希望这能解释清楚。
-
对不起,但我认为没有。而且您还没有告诉我们您使用的是哪种编程语言。
-
@FrancescoBoi 我认为它会在标题 C# 中可见。
-
你是对的,但你也应该像现在一样放入标签,因为通常问题是用标签分类的。
标签: c# generic-list