0
我在C#中使用索引器时遇到问题。由于要求我必须实现索引器。此索引器必须接受值(设置)通用类型<T>
和返回(获得)类型MyClass<T>
。索引器获取并设置不同的类型
实施例:
class OtherClass<T>{
Dictionary<string, MyClass<T>> dict;
//...
}
class MyClass<T>{
T item;
//...
public void MethodFromMyClass(){
//...
}
}
MyClass<String> mc = new MyClass<String>();
mc["Name"] = "Data";
//Call method from MyClass
mc["Name"].MethodFromMyClass()
我尝试了很多东西例如。 public object this[string i] ...
,但他们都没有产生预期的结果。感谢您的任何帮助。
我觉得你应该表现出更多的
接下来,我们应该
MyClass
索引定义DictionaryClass
你的代码。你正在创建一个'MyClass'的实例,名为'mc',并且将它视为一个'Dictionary'(用'mc [“Name”]'...)。 – Sjips 2014-11-22 22:11:25这是什么'OtherClass'?你的意思是'mc'实际上是'OtherClass '的一个实例吗?另外,这是什么意思_semantically_分配一个字符串值到一个索引器,返回一个“MyClass ”的实例?您应该显示您希望能够编写的实际索引器代码。你不能完全按照你想要的来做,因为一个类只能包含任何给定参数类型的一个索引器,但是如果你解释了你实际要做的事情,可以给出一个合适的答案。 –
2014-11-22 22:11:38
为什么你要尝试制作一个索引器,它的吸气器和它的吸气器是不同的类型?这是一个可怕的想法,C#是专门设计的,它使得很难做出可怕的想法(他们更喜欢把你带到“成功之坑”)。无论你在做什么,它都不是你可以用索引器进行有意义的建模。使用两种方法,一种是设置'T'类型的值,一种是'MyClass'包装。你的用户会感谢你。 –
2014-11-22 22:24:45