У меня есть одно поле со списком в форме окна, и у меня есть один метод, объявленный с помощью static, как private static DataTable ParseTable(HtmlNode table)
Теперь я хочу использовать combobox в этом методе для использования свойства combobox, но я не могу доступ к любому свойству combobox или combobox. Если я сделал объявление combobox статичным, то к нему можно получить доступ в этом статическом методе. Но любой альтернативный способ доступа к свойствам combbox в этом статическом методе, потому что я не хочу делать объявление combobox как статичный.Доступ к свойствам нестатического гребня в статическом методе
ответ
Вы можете передать combobox в качестве параметра вашему методу. Зачем вам нужен метод ParseTable
как статический?
Update: Вы не можете получить доступ к нестатические членов класса в статическом контексте. Таким образом, единственное, что вы можете сделать, если вам все еще нужно иметь статический метод, - это как-то передать ваш combobox этому методу с использованием параметров метода.
В форме не требуется статический метод ParseTable. Удалите статические данные из этой функции, если вы хотите, чтобы эта функция взаимодействовала с элементами управления в форме.
От чтения комментариев нет улучшения производительности, если у вас есть только одна форма. Если у вас есть несколько форм, вызывающих этот статический метод, тогда ParseTable следует переместить в отдельный статический класс.
Если вы загружаете десять или более комбинированных блоков, используя этот метод ParseTable, я предлагаю вам использовать предложение Энтони Пеграма и Эндрю Беззюба и передать управление ComboBox по мере необходимости. Я бы избегал передавать это (форму), потому что он обычно создает «уродливый» неуправляемый код.
Вы можете получить доступ к combobox, передав «это» статическому методу и получив доступ к любому члену, который вам нужен над «этим».
@Adrian Faciu, Пожалуйста, объясните кратко. – Harikrishna
@Harikrishna, посмотрите на мой ответ. За исключением того, что вместо того, чтобы получать TextBox, как в моем примере, вы получите объект типа вашей формы (Form1?). Затем вы можете вызвать эту функцию, используя «this» в качестве аргумента. Сама функция могла бы получить доступ к доступным членам параметра. –
@Harikrishna, Энтони прав, это было бы так же, но вместо параметра TextBox у вас была бы форма. Если вам нужны только данные из текстового поля, вы должны пойти с этим, с помощью «этого» вы можете получить доступ ко всем членам вашей формы. –
Вы не сможете просто получить доступ к члену экземпляра из статической функции. Один из способов получить доступ - вы можете передать управление функции в качестве аргумента. Рассмотрим этот пример.
private void button1_Click(object sender, EventArgs e)
{
Form1.DoSomething(textBox1);
}
public static void DoSomething(TextBox textbox)
{
textbox.Text = DateTime.Now.ToString();
}
- 1. Доступ к свойствам имени WPF в статическом методе
- 2. Вызов нестатического метода GetType() в статическом методе?
- 3. Доступ к config в статическом методе
- 4. Доступ к классу в статическом java-методе
- 5. Доступ к свойствам объекта javascript в методе
- 6. Доступ к статическим данным в статическом методе в java
- 7. Доступ к значению нестатического класса в статическом классе
- 8. Вызов нестатического метода в основном статическом методе в Java
- 9. Есть ли способ вызова нестатического метода в статическом методе
- 10. Как получить доступ к членам экземпляра в статическом методе?
- 11. C# Reflection - Доступ к свойствам объекта в статическом классе
- 12. Page.GetRoutUrl в статическом методе
- 13. Доступ к статической переменной-члена в статическом методе в классе
- 14. Торт: доступ к контроллеру в статическом методе в компоненте
- 15. Доступ к константе вспомогательного класса в статическом родительском методе
- 16. Можно ли получить доступ к объекту Class в статическом методе?
- 17. Как получить доступ к Gridview в статическом методе?
- 18. Доступ к не статическому набору данных в статическом методе
- 19. Arduino: Доступ к статической переменной в статическом методе класса
- 20. Доступ к частному члену параметра в статическом методе?
- 21. Доступ к глобальному методу глобального класса в статическом методе
- 22. Чисто доступ к аспектам подкласса в статическом методе
- 23. Как получить доступ к выпадающему меню в статическом методе
- 24. Как получить доступ к настройкам в статическом методе
- 25. RunOnUiThread в статическом методе
- 26. Доступ к вложенным свойствам в методе макрокоманды настраиваемого объекта Kentico
- 27. HttpContext.Current NullReferenceException в статическом методе
- 28. Обратитесь к собственному классу в статическом методе
- 29. Переменные в статическом методе
- 30. Lock() в статическом методе
@Andrew Bezzub, этот метод называется часто, и я хочу улучшить производительность приложения, поэтому я объявил этот метод как статический. – Harikrishna
@Harikrishna, я думаю, что это не подходящее место для оптимизации производительности. –
@Andrew Bezzub, может быть почти десять combobox и даже нет фиксированного числа combobox, которое может быть в форме окна. – Harikrishna