C# 在有重复方法c时整理类声明#

C# 在有重复方法c时整理类声明#,c#,.net,class,methods,game-development,C#,.net,Class,Methods,Game Development,我正在创建一个类,其中包含了我所有的数据,并且可以看到它很快就会变得混乱 我觉得一定有办法使它更整洁,而不是每次都用新方法 比如说。我有一个角色,在巨大的技能列表中,每个人对不同的东西都有不同的价值,他们只有武器和盾牌。我谨此声明 Character character = new Character(); character.Skills.Add(Skill.OneHanded()); character.Skills.Add(Skill.Shield()); 如果他们能像我一样升级并学习一

我正在创建一个类,其中包含了我所有的数据,并且可以看到它很快就会变得混乱

我觉得一定有办法使它更整洁,而不是每次都用新方法

比如说。我有一个角色,在巨大的技能列表中,每个人对不同的东西都有不同的价值,他们只有武器和盾牌。我谨此声明

Character character = new Character();
character.Skills.Add(Skill.OneHanded());
character.Skills.Add(Skill.Shield());
如果他们能像我一样升级并学习一项新技能,这也会让事情变得相当容易

character.Skills.Add(Skill.Polearm());
但是现在我的技能课看起来一团糟

public class Skill
{
    public string Test { get; set; }

    public static Skill OneHanded()
    {
        return new Skill
        {
            Test = "test"
        };
    }
    public static Skill TwoHanded()
    {
        return new Skill
        {
            Test = "test2"
        };
    }
    public static Skill Polearm()
    {
        return new Skill
        {
            Test = "test3"
        };
    }
    public static Skill Shield()
    {
        return new Skill
        {
            Test = "test4"
        };
    }
}

有没有简单的方法?

你可以把它放在上面,你考虑过让技能ID成为枚举吗?使用字符串作为重要值通常不是一个好主意。我没有,你会怎么做?我会做enum技能{单手,双手,双手,盾牌};然后像以前一样使用Skill.one-hand,但这将返回其在枚举中的位置。我将如何针对它声明数据?另外@rory.ap感谢您的建议。我可能得等40分钟才可以,但我也要把它放在那里