C#
- 16 ответов
- 0 вопросов
16
Вклад в тег
void UntilSuccess(Action action) {
if (action == null)
throw new ArgumentNullException();
while (true) {
try
{
action.Invoke();
break;
}
catch { Thread.Sleep(300); }
}
}
// Использовать так:
UntilSuccess(() => File.WriteAllText(@"C:\\serv1.txt", "text"));
b1_click нельзя использовать переменную b1, т.к. она доступна только внутри функции MyButton.Button b1 внутри класса, например перед public Form1(). В функции MyButton удалить Button, чтобы осталось b1 = new Button();.b1_click использовать ссылку на кнопку, на которую нажали. То есть Button b = (Button) sender;. Это позволит использовать функцию для любой кнопки, а не только для созданной в MyButton.Button b = (Button) sender;
b.Text = "Зачем нажал?";
// Аналогично циклу с использованием Any
return !Beads.Any(n => Vector3.Distance(n.position, pos) < 0.1f);
// Можно с использованием All
return Beads.All(n => !Vector3.Distance(n.position, pos) < 0.1f);false, если условие будет выполнено хотя бы раз. Any в этом случае вернёт true. Поэтому нужно применить инверсию. Также можно переписать операцию использую метод All.