无法在字典是静态的抽象类中初始化 C# 中的字典列表

问题描述 投票:0回答:1

我有这个抽象类,我尝试用对象初始化字典 但有人不让我

public abstract class ICharacterBody3DState
{
    
    public static Dictionary<StateInput, ICharacterBody3DState> State = new Dictionary<StateInput, ICharacterBody3DState>()
    {
        StateInput.sprint=new StateInput(),

    };

}

每个状态都继承自这个抽象类:

public class WalkingState : ICharacterBody3DState
{
}

但它给了我: CS0747:无效的初始值设定项成员声明符。 有没有办法用对象初始化抽象类字典?

c# dictionary static abstract-class initializer-list
1个回答
0
投票
public abstract class ICharacterBody3DState
{
    public static Dictionary<StateInput, ICharacterBody3DState> State = new Dictionary<StateInput, ICharacterBody3DState>()
    {
        { StateInput.sprint, new StateInput() },
    };
}

将每个键和值放在花括号

{}
内,并用
comma
分隔它们。这是向字典添加项目的正确方法。

© www.soinside.com 2019 - 2024. All rights reserved.