Roslyn: как получить пространство имен для синтаксиса объявлений с помощью Roslyn C #

Я знаю, что это действительно старый вопрос, но, возможно, кто-то найдет его полезным. Я хотел бы немного улучшить ответ viper.

Вы можете сделать простое расширение классом Panel и скрыть свойство настройки через отражение.

public static class MyExtensions {

    public static void SetDoubleBuffered(this Panel panel) {
        typeof(Panel).InvokeMember(
           "DoubleBuffered",
           BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.SetProperty,
           null,
           panel,
           new object[] { true });
    }
}

Если имя переменной вашей панели myPanel вы можете просто вызвать myPanel.SetDoubleBuffered (); вот и все. Код выглядит намного чище.

7
задан Pangamma 6 April 2015 в 21:22
поделиться