我使用的是WPF c# Visual Studio
在我的公共类中有一个方法。我想在一个方法的参数输入中得到许多文本框。该方法将删除长度为0的文本框,如下所示:0123 =>123
这是我的方法
public static void Remove_Zero_atFirst(TextBox TXB2)
{
TXB2.Text = TXB2.Text.TrimStart('0').Trim();
}
我需要什么当我想使用这个方法时是这样的:
Remove_Zero_atFirst(textbox1,textbox2,textbox3, . . .);
What have I try:
public static class Texchanger
{
public static void Del_Multi_SepTexs(IEnumerable<TextBox> TXBS)
{
TXBS.Text = TXBS.Text.TrimStart('0').Trim();
}
}
where I try line have error:
does not contain a definition for 'Text' and no accessible extension method 'Text' accepting a first argument of type 'IEnumerable<TextBox>' could be found
您需要传入一个数组,或者通过指定作为最后一个参数来使用变量
params TextBox[] boxes
然后里面…foreach(TextBox/box) {}
这正是params关键字的作用。
Remove_Zero_atFirst(textbox1,textbox2,textbox3, . . .);
public void Remove_Zero_atFirst(params TextBox[] textboxes)
{
foreach (TextBox item in textboxes)
{
item.Text = item.Text.TrimStart('0').Trim();
}
}
try this:
public static class Texchanger
{
public static void Del_Multi_SepTexs(IEnumerable<TextBox> TXBS)
{
foreach (var item in TXBS)
{
item.Text = item.Text.TrimStart('0').Trim();
}
}
}
调用这个方法使用:
var myTextBoxes = new List<TextBox>(){txt1,txt2}; Texchanger.Del_Multi_SepratTexs(myTextBoxes);
或像这样使用多个参数:
ublic static class Texchanger
{
public static void Del_Multi_SepTexs(params TextBox[] TXBS)
{
foreach (var item in TXBS)
{
item.Text = item.Text.TrimStart('0').Trim();
}
}
}
调用方法:
Texchanger.Del_Multi_SepTexs(txt1,txt2);