1

我正在尝试创建一个类来处理资源(纹理、声音等)的加载。我正在尝试创建它,以便可以执行类似于以下的操作:

ContentHandler contentHandler=new ContentHandler(content);
Texture2D texture=contentHandler<Texture2D>["picture"];

我遇到的问题是,虽然我可以很好地创建索引器,但我不知道如何使用模板来获取传递给它的特定类型。我可以只使用常规模板函数,但如果可能的话,我宁愿使用上面的函数。我试过搜索,但我很难想出任何东西。

4

2 回答 2

3

我怀疑你的问题是真的:

我可以写一个通用索引器吗?

如果是这样,答案是否定的。您必须改为编写一个方法:

Texture2D texture = contentHandler.GetValue<Texture2D>("picture");

另请注意,泛型不是模板。值得非常清楚:)

于 2012-03-13T22:35:19.207 回答
1

我认为您正在寻找Generics

可能重复:为什么不能在 .NET 中定义通用索引器?

于 2012-03-13T22:35:51.707 回答