Необходимо использовать отражение, чтобы получить метод для начала, затем "создать" его путем предоставления аргументов типа MakeGenericMethod:
MethodInfo method = typeof(Sample).GetMethod("GenericMethod");
MethodInfo generic = method.MakeGenericMethod(myType);
generic.Invoke(this, null);
Для статического метода, передайте null
как первый аргумент Invoke
. Это не имеет отношения к общим методам - это - просто нормальное отражение.
, Как отмечено, многое из этого более просто с C# 4 с помощью dynamic
- если можно использовать вывод типа, конечно. Не помогает в случаях, где вывод типа не доступен, таков как точный пример в вопросе.
По моему мнению, GTK LaF является сломано по дизайну. Он не учитывает настройки пользовательского интерфейса программиста (цвет шрифта, фон и т.д.) для кажущихся случайными JCO-компонентов. Это потому, что он получает свои настройки из файла .gtkrc, а не из вызовов setXXX (...). Я бы остановился на Metal для Linux и на «родном» для Windows.
Response:
Внешний вид GTK + может быть настраивается с помощью файлов ресурсов. Внешний вид Swing GTK + использует следующий алгоритм, чтобы найти файлы ресурсов:
- Если системное свойство swing.gtkthemefile существует, проанализируйте его и остановитесь, например: java -Dswing.gtkthemefile = / tmp / customTheme -jar SwingSet2.jar.
- Если файл user.home / .gtkrc-2.0 существует, проанализируйте его и продолжите.
- Определите выбранное пользователем имя темы (THEMENAME) способом из свойство рабочего стола gnome.net/ThemeName который определяется с помощью XSETTINGS. Если это свойство равно null, используйте Default как THEMENAME. 1. Если файл user.home / .themes / THEMENAME / gtk-2.0 / gtkrc существует, проанализируйте его и остановите. 2. Если системное свойство swing.gtkthemedir существует и файл swing.gtkthemedir / THEMENAME / gtk-2.0 / gtkrc существует, проанализируйте его и остановитесь. 3. Если системное свойство swing.gtkthemedir не существует и файл /usr/share/themes/THEMENAME/gtk-2.0/gtkrc существует, проанализируйте его и остановитесь. 4. Наконец, если определен swing.gtkthemedir, выполните синтаксический анализ swing.gtkthemedir / THEMENAME / gtk / gtkrc, иначе разобрать /usr/share/themes/THEMENAME/gtk/gtkrc.
Один из способов настройки GTK + - способ движка темы. Горстка двигатели существуют. В версии 1.4.2 Swing поддерживает файлы темы по умолчанию, растровые изображения и движки bluecurve. Мы изучение способов открыть API чтобы позволить создание дополнительные двигатели ГТК. Визит http://www.themes.org для примеров.
- http://java.sun.com/j2se/1.4.2/docs/guide/swing/1.4/Post1.4.html
Я предполагаю, что java берет свою тему из другого файла RC ИЛИ текущие параметры границы не поддерживаются.