传递数据结构作为参数

时间:2012-10-16 03:16:16

标签: c# asp.net

我有三种数据结构,

Tuple<string, string> parentid = null;
var subids = new List<Tuple<int, int>>();
Tuple<string, string> dname = null;

ArrayList al = new ArrayList();
al.add(parentid);
al.add(subids);
al.add(dname);

我调用一个返回包含这3个数据结构的ArrayList的函数。

例如

ArrayList al = category.getTree();

现在我想将数据结构传递给另一个方法

string option = category.printOption(al[0], al[1], al[2], 0);

printOption代码:

public string printOption(Tuple<string, string> parents, List<Tuple<int, int>> subids, Tuple<string, string> dname, int indent)

但是有一个错误:

  

最好的重载方法.......

任何人都知道问题是什么?

2 个答案:

答案 0 :(得分:0)

ArrayList存储对象,因此要使用将要使用的每个对象转换为正确类型所需的内容:

string option = category.printOption((Tuple<string, string>)al[0],
    (List<Tuple<int, int>>)al[1], (Tuple<string, string>)al[2], 0); 

答案 1 :(得分:0)

string option = category.printOption((add your cast here) al[0], ( List< Tuple < int, int>>) al[1], (and here) al[2], 0);