下面是我的代码,请解释什么是ref cboListType。
Lists.LoadListTypes(ref cboListType);
public static void LoadListTypes(ref DropDownList dropDown)
{
if (!Util.IsCached(LIST_TYPES))
{
Util.InsertIntoCache(LIST_TYPES, DataAccess.ListListTypes());
}
dropDown.DataSource = (DataTable)Util.GetFromCache(LIST_TYPES);
dropDown.DataBind();
dropDown.Items.Insert(0, new ListItem("", ""));
}
答案 0 :(得分:3)
ref
keyword表示参数通过引用传递。
在您发布的代码中,它完全没用,因为该方法不会更改参数的值(更改参数的属性不需要通过引用传递它,至少不是它是引用类型)
答案 1 :(得分:2)
ref
关键字表示“按引荐传递”。当您将DropDownList
引用传递给LoadListTypes()
时,此引用可能会更改。因此,在此调用之后,您传递的引用可能完全引用另一个对象。
void func(ref MyClass mc)
{
mc = new MyClass(2);
}
MyClass mc = new MyClass(1);
MyClass mc2 = mc;
// mc and mc2 are the same
func(ref mc);
// mc and mc2 may differ
答案 2 :(得分:1)
C#ref关键字使方法引用传递给方法的同一变量。当控制权被传回时,对该变量所做的任何更改都会反映在该变量中。
答案 3 :(得分:1)
我认为这是一个System.Web.UI.WebControls.DropDownList,几乎肯定不应该声明参考。
答案 4 :(得分:1)
请参阅传递给方法的相同DropDownList。
Here了解详情。
答案 5 :(得分:0)
ref 表示参数是通过引用传递的,而不是通过值传递的。 More detailed info
答案 6 :(得分:0)
方法参数上的ref方法参数关键字会导致方法 引用传递给方法的相同变量。任何 对方法中的参数所做的更改将反映在该方法中 当控制传递回调用方法时变量。