c# - 将大量参数传递给构造函数的有效方法

标签 c#

我正在做一个项目,我有一个对象,在实例化后,将有大量的值(20+)传递给它。我知道我可以创建一个可以接受所有值的构造函数,但我正在寻找一种更清洁/更有效的方法来做到这一点。

从正确的角度来看,对象是游戏中的角色,经常创建新的实例。分配的值是随机生成的属性。

具有大量参数的构造函数是最好的方法吗?还是有我不知道的更好的方法来做到这一点?任何建议将不胜感激。

编辑:当新游戏开始时,List<Character>创建一个 for 循环创建 10 个字符实例并将它们添加到列表中。

最佳答案

您可以创建一个定义游戏角色的调用。让用户填充该类并将其作为参数传递给您的类。

像这样,

public class CharecterInfo
{ 
       public string Name {get;set;}
       public int Power {get;set;}
       public int Health{get;set;}
}

public class Charecter
{ 
     public Charecter(CharecterInfo charecterInfo)
     {
        //import values
     }
}

我会避免使用公共(public)属性,因为您的类可以在未正确初始化(处于错误状态)时使用,这是构造函数的工作。在允许用户继续之前,您应该使用构造函数并验证输入。

关于c# - 将大量参数传递给构造函数的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16531762/

相关文章:

c# - Gmail api 读取/解码消息 C#

c# - OpenXML SDK 2.5 Excel 模板

c# - UI : Same object, 的模式显示不同

c# - 返回错误代码是否比 out 参数慢?

c# - Asp.net MVC3 : is really based on roles @Html. Action ()

c# - 在 VBscript 中捕获控制台应用程序的返回码?

c# - 在 SharpDX/DirectWrite 中获取 ABC 字符宽度

c# - 动态更新标签元素

c# - html 表单发布到 web api 2 Controller

c# - 将字符串转换为日期格式