我创建了一个具有List类型成员的类。然后我可以使用ClassNameInstance.Add()
加入。C#:类返回值 - 还是有更好的方法吗?
我们现在使用一些来自第三方的代码,它将自动使用我创建的任何类及其值。除了列表。它只返回列表中的第一个元素。
我需要的是一个逗号分隔的版本,而不是第三方代码来使用。现在我可以将字符串附加到字符串成员,但这看起来不如.Add()方法好。
,所以我想创建自己的类,我可以有一个Add()方法,但可以像这样访问它的单个值:
MyClass1.Add("Test1");
MyClass1.Add("Test2");
Console.WriteLine(MyClass2);
我想输出是Test1, Test2
。我希望这是有道理的!
UPDATE1:
好像上面可能没有明确。
public class MyClass1
{
????
}
public class MyClass2
{
MyClass1 mc1 { get; set; }
String name { get; set; }
}
第三方代码将使用MyClass2及其分配的值。当我使用List而不是MyClass1时,我只能得到列表中的第一个值,但需要一个CSV列表作为返回的字符串。
MyClass2 mc2 = new MyClass2();
mc2.mc1.Add("Test1");
mc2.mc1.Add("Test2");
Console.WriteLine(mc2.mc1) should output -> Test1, Test2
希望能够清理一些东西!
谢谢大家! :)
UPDATE2:
似乎每个人都建议同样的事情 - 用toString()方法。
不幸的是,第三方代码会查看我的类,并自动确定成员类型和值。这意味着我无法将代码传递给调用ToString()时返回的值。
我需要列表<>的添加/删除功能>,但将其值作为单个CSV字符串使用时。
答案为止似乎回答你问题的第二部分,但我必须承认,我不是很了解,与第一部分相结合 - 是您的第三方代码也执行的ToString( )在你的班上? – Benjol 2009-09-28 13:52:17
@ Benjol: 我不确定它究竟发生了什么,因为我没有得到源代码(虽然我可以得到它)。 我真的希望我的课堂能够在第二课堂中使用。这第二类将与第三方代码一起使用,所以我不能不幸地使用ToString()。 – neildeadman 2009-09-28 13:57:50