提问人:Mohsen Ilkhani 提问时间:9/17/2023 最后编辑:Theodor ZouliasMohsen Ilkhani 更新时间:9/17/2023 访问量:61
将对象列表传递给奇异方法
Passing list of objects to a singular method
问:
您可能知道不匹配。List<String>
List<Object>
如何传递以下对象:
List<String>
List<Int>
List<className>
到单一方法?
例如,假设我们有一个这样的方法:
public void _AddListOfObject(string TitleOfDaataGridView, List<Object> Values)
{
_Temp.Columns[0].Name = TitleOfDaataGridView;
foreach (object i in Values)
{
//...
}
}
现在我无法将对象传递给此方法。List<string>
我该怎么做?
答:
1赞
Lajos Arpad
9/17/2023
#1
您可以将字符串列表转换为对象列表,并传递:
using System;
using System.Collections.Generic;
public class Program
{
public static void _AddListOfObject(List<Object> Values)
{
}
public static void Main()
{
List<string> strings = new List<string> {
"a",
"b",
"c"
};
List<Object> objects = new List<Object>();
objects.AddRange(strings);
_AddListOfObject(objects);
}
}
3赞
Dmitry Bychenko
9/17/2023
#2
您在寻找通用产品吗?让我们使用 where is an generic type:List<T>
T
// Method has T generic type
public void _AddListOfObject<T>(string TitleOfDaataGridView, List<T> Values)
{
_Temp.Columns[0].Name = TitleOfDaataGridView;
// Note, that i is of generic type T now
foreach (T i in Values)
{
...
}
}
从现在开始接受任何类型的列表:_AddListOfObject
List<int> list1 = new List<int>() { 1, 2, 3 };
List<string> list2 = new List<string>() { "a", "b", "c" };
_AddListOfObject("TitleInt", list1);
_AddListOfObject("TitleString", list2);
上一个:每种方法都应该从同一件事开始
下一个:如何将代码从主窗体类中分离出来?
评论
IEnumerable<Object>
List<string>