我有以下方法
public static void Method1(ref List<int> list)
{//code to update list}
是否可以创建一个方法,将此方法作为类似的参数(但不是Action&lt; List&gt;它使用Action&lt; ref List&gt;)
public static void Method2(Action<List<int>> otherMethod)
{var newList = new List<int>(); otherMethod(newList)}
我的主要问题是我的方法使用引用而Action&gt;不参考。这可能吗?
答案 0 :(得分:2)
是的,但您无法使用Action<>
/ Func<>
,您必须“手动”构建代理:
// Your method
public static void Method1(ref List<int> list)
{
}
// The delegate
public delegate void Method1Delegate(ref List<int> list);
// A method that accepts the delegate and uses it
public static void Method2(Method1Delegate del)
{
List<int> list = null;
del(ref list);
}
答案 1 :(得分:0)
"column name1"
1value_col1
"coumn name2"
1value_col2
"column name 1"
2value_col1
"column name2"
2value_col2
使用代表。