Ale*_*pin 5 c# generics dictionary
我目前正在为我的游戏编写资源管理器.这基本上是一个类,它将处理不同类型的所有其他对象,并且每个对象都通过名称(System.String)引用.现在这是我当前的实现,但由于我使用对象字典,我仍然需要转换每个对象.在这种情况下有没有办法使用泛型?我对这些不是很强,我试着读它们,结果让我更加困惑.
public static class ResourceManager
{
public static Dictionary<string, object> Resources { get; private set; }
public static void LoadResources()
{
Resources = new Dictionary<string, object>();
//Sample resource loading code
Resources.Add("number", 3);
Resources.Add("string", "bleh");
Console.Log("Loaded " + Resources.Count + " resources.");
}
}
Run Code Online (Sandbox Code Playgroud)
是否需要只拥有一组资源,还是可以为每种类型的资源拥有一个资源?
public class ResourceMap<T> extends Dictionary<string, T> { }
public static class ResourceManager
{
public static ResourceMap<Font> Fonts { get; private set; }
public static ResourceMap<Image> Images { get; private set; }
public static ResourceMap<Sound> Sounds { get; private set; }
public static void LoadResources()
{
Fonts = new ResourceMap<Font>();
Images = new ResourceMap<Image>();
Sounds = new ResourceMap<Sound>();
Fonts.Add("Helvetica", new Font("Helvetica", 12, FontStyle.Regular));
Images.Add("Example", Image.FromFile("example.png"));
}
}
Run Code Online (Sandbox Code Playgroud)