我遇到了一点困难,我不确定如何最好地解决这个问题。
我编写了一个类,它期望在创建新实例时指定数据类型。非常类似于System.Collections.Generic.List<T>
存储指定类型的多个项目的类。但是,我的班级与班级没有相同或相似的功能List<T>
。
在创建我的类的新实例时,例如:
string phrase = "Some string type data.";
MyClass<string> data = new MyClass<string>( () => phrase );
之后,我的课程将提供许多方法,无论传入的数据类型如何MyClass<T>
(数据类型在哪里),这些方法都会给出结果T
。不管它是字符串、布尔值、整数还是任何类型。
我已经测试了我的类并且它按预期工作,现在我如何MyClass
在集合类(例如List<>
.
让我举例说明(代码将包含语法错误,因为我不确定如何正确编写):
// My intent... Not sure how to do it.
string phrase = "Some string data type.";
int number = 23;
bool boolData = false;
List<MyClass<T>> list = new List<MyClass<T>>();
list.Add( new MyClass<string>( () => phrase ) );
list.Add( new MyClass<int>( () => number ) );
list.add( new MyClass<bool>( () => boolData ) );
如您所见,我不知道如何存储具有不同传递数据类型的 MyClass 的许多元素,如果它们都是相同的传递数据类型,我就不会遇到这个问题。
例如:
// How it should be done. But not what I need.
string phrase1 = "Hello Phrase 1.";
string phrase2 = "Hello Phrase 2.";
List<MyClass<string>> list = new List<MyClass<string>>();
list.Add(new MyClass<string>( () => phrase1) );
list.Add(new MyClass<string>( () => phrase2) );
如果这是我想要完成的,我不会有问题,但由于我想完成我在最后一个示例之前举例说明的内容,我只是不确定如何最好地做到这一点。
基本上这是我的问题,我提供了一些基本示例,因为我认为我的问题可能有点奇怪,老实说,我认为我的术语还不够。
这对你们中的一些人来说可能很简单。我感谢您的帮助。