所以我正在研究这个VB到C#的Web应用程序迁移,并遇到了一个我希望有一个简单易用的问题。有一个使用GridView控件的webform。在代码中,它将列集合传递给一个方法,该方法根据用户,权限和环境动态添加列。因此,使用ByRef将列传递到VB中的函数,如下所示:
Public Sub PopulateColumns(ByRef ColumnCollection As DataControlFieldCollection)
'Do something
End Sub
现在在C#中,我使用了ref关键字,但是columns集合没有setter。我最快的解决方法是什么?我将很快将其转换为jQuery网格,所以我不关心最佳实践,而只是让它工作。
这是在C#:
public void PopulateColumns(ref DataControlFieldCollection columnCollection)
{
// Something here
}
这就像这样......
.PopulateColumns(ref EmployeeGridView.Columns)
答案 0 :(得分:2)
该集合已经是ByRef,因此您不需要ref参数。
所以,除非我有一个金发的时刻,你只需这样做:
public void PopulateColumns(DataControlFieldCollection columnCollection)
{
// Something here
}
.PopulateColumns(EmployeeGridView.Columns)
经过测试和工作。