C# 有效地保存内容

C# 有效地保存内容,c#,xna,C#,Xna,所以我有一门课叫打字键盘。它是一个在屏幕上绘制字符串的类,就像是有人用声音键入的一样。我用它做很多事情,比如在主菜单、积分和游戏本身 class TypingKeyboard { SoundEffect foo; public TypingKeyboard(string text, int intervalBetweenKeys, blah blah blah){} public void LoadContent(ContentManager content)

所以我有一门课叫
打字键盘
。它是一个在屏幕上绘制字符串的类,就像是有人用声音键入的一样。我用它做很多事情,比如在主菜单、积分和游戏本身

class TypingKeyboard
{
    SoundEffect foo;

    public TypingKeyboard(string text, int intervalBetweenKeys, blah blah blah){}

    public void LoadContent(ContentManager content)
    {
        foo = Content.Load<SoundEffect>("keysoundthinggy");
    }
}
使用以下模式:

公共类键入键盘数据
{
私有静态只读惰性\u实例
=新建延迟(()=>新建键入键盘数据());
//私有以防止直接实例化。
专用键入键盘数据()
{
}
//例如访问者
公共静态键入KeyboardData实例
{
得到
{
返回_instance.Value;
}
}
//在下面添加所有必需的实例方法
}

更多。

我将创建一个sound类,并通过引用将该类传递给所有其他类。更好的做法是使sound类保持静态。然后从该类调用一个静态方法来播放声音
// I need to play the sound!
TypingKeyboardData.Foo.Play();
public class TypingKeyboardData
{
    private static readonly Lazy<TypingKeyboardData> _instance
        = new Lazy<TypingKeyboardData>(() => new TypingKeyboardData());
    // private to prevent direct instantiation.
    private TypingKeyboardData()
    {
    }
    // accessor for instance
    public static TypingKeyboardData Instance
    {
        get
        {
            return _instance.Value;
        }
    }

    // Add all required instance methods below
}