Как увеличить размер wx.TextEntryDialog и изменять его размер

Использование GWT У меня есть класс Java:

public class Pojo {
  private String name;
  public String getName() { return name; }
  public void setName(String name) { this.name = name; }
}

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

Из клиентского кода я хотел бы получить динамический доступ к свойству . То есть я хотел бы написать метод со следующей сигнатурой:

public String getProperty(Object o, String propertyName)

Чтобы следующий код работал:

Pojo pojo = new Pojo();
pojo.setName("Joe");
getProperty(pojo, "name");    // this should return "Joe"

Очевидно, что отражение Java отсутствует. И я попробовал следующий метод JSNI:

public static native String getProperty(Object o, String name) /*-{
  return o[name];
}-*/;

Но это не работает.

Специальный синтаксис для доступа к объектам Java из JavaScript также не может использоваться, поскольку я хочу, чтобы он был динамическим.

Есть идеи, как я могу это сделать?

Для полноты, я также хочу иметь возможность динамически устанавливать свойство.

РЕДАКТИРОВАТЬ: ответ blwy10 был отличным советом, который заставил меня искать с помощью " gwt reflection "вместо таких терминов, как"

Глядя на сообщение Карла Сегина, в котором он показывает, что проектирование с учетом тестируемости приводит к лучшему дизайну, в данном случае композиция превышает наследование .

В этом примере его CachedEmployeeLookup имеет зависимость от EmployeeLookup , которые реализуют один и тот же интерфейс, IEmployeeLookup

Как бы вы настроили это в StructureMap, чтобы что программа по умолчанию использует класс CachedEmployeeLookup , в то время как CachedEmployeeLookup получает введенный в него EmployeeLookup ?

-121 --- 8342907] [11642907] Linq для возврата ВСЕХ пар элементов из двух списков? Данные списки l1 = {1, 2} и l2 = {4, 5, 6} Я хочу получить новый список с элементами: rez = {{1, 4}, {1, 5}, {1, 6}, {2, 4}, {2, 5}, {2, #define TOSTRING (x) STRINGIFY (x) #define AT __FILE__ ":" TOSTRING (__ LINE__) RowFilter? Я ломаю голову над чем-то довольно глупым, но очевидно сложным. Просмотр данных dvFormula = dsFormula.Tables [0] .DefaultView; dvFormula.RowFilter = "'" + startDate.ToString ("yyyyMMdd") + "' & ...

Я ломаю голову над чем-то довольно глупым, но, по-видимому, сложным.

DataView dvFormula = dsFormula.Tables[0].DefaultView;
dvFormula.RowFilter = "'" + startDate.ToString("yyyyMMdd") + "' < EndDate OR EndDate = '19000101'";
dvFormula.Sort = "FromDate ASC";

Результат следующий:

Невозможно выполнить операцию «

Подскажите, пожалуйста, лучший способ решить эту проблему.

С уважением!

12
задан Peter 2 September 2010 в 10:54
поделиться

2 ответа

Даты нужно заключать в #, а не в апострофы.

dvFormula.RowFilter = "#" + startDate.ToString("MM/dd/yyyy") + "# < EndDate OR EndDate = #1/1/1900#"; 
24
ответ дан 2 December 2019 в 03:48
поделиться

В зависимости от поставщика данных вам может потребоваться экранировать даты с помощью символа #, а не символа '. Кроме того, я бы отформатировал ваши даты в формате ГГГГ-ММ-ДД, чтобы их можно было правильно распознать как дату.

4
ответ дан 2 December 2019 в 03:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: