[英]Convert method to and object c#
我想将此方法转换为对象,因为我使用了很多次,唯一改变的是字段“ coleccion5”,即foreach循环内和返回中的那个。
public AutoCompleteStringCollection Auto_telefono()
{
DataTable dt = Datos();
//recorrer y cargar los items para el autocompletado
int cantidad = dt.Rows.Count;
int contados = 0;
foreach (DataRow row in dt.Rows)
{
coleccion5.Add(Convert.ToString(row["telefono"]));
contados++;
progressBar1.Value = contados / cantidad * 30 + 70;
}
return coleccion5;
}//fin metodo de llenado de autocompletado
为什么不使用静态方法并添加参数供集合使用?
public static AutoCompleteStringCollection Auto_telefono(List<T> collection)
其中T可以作为泛型添加到方法上,如果类型始终相同,则可以“硬编码”。
如果coleccion5
是唯一更改的东西,则将其作为参数传递
public void Auto_telefono(AutoCompleteStringCollection coleccion)
{
DataTable dt = Datos();
//recorrer y cargar los items para el autocompletado
int cantidad = dt.Rows.Count;
int contados = 0;
foreach (DataRow row in dt.Rows)
{
coleccion.Add(Convert.ToString(row["telefono"]));
contados++;
progressBar1.Value = contados / cantidad * 30 + 70;
}
}
并用
Auto_telefono(coleccion5);
还要注意,您不需要返回集合,因为作为参数传递的是对集合的引用,而不是集合对象本身,因为AutoCompleteStringCollection
类(实际上是所有类)都是引用类型 。
var coleccion5 = new AutoCompleteStringCollection();
Auto_telefono(coleccion5);
// Now coleccion5 contains the added entries, no assignement to it needed.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.