У меня есть только элементарные знания о отображении типов данных R (в частности, возвращаемых функцией class()
) на типы данных Spark. Тем не менее, следующая функция работает, как я ожидаю. Надеюсь, другие найдут его полезным / улучшит его:
get_spark_data_types_from_data_frame_types <- function(df) {
r_types <-
c("logical", "numeric", "integer", "character", "list", "factor")
spark_types <-
c("boolean", "double", "integer", "string", "array", "string")
types_in <- sapply(df, class)
types_out <- spark_types[match(types_in, r_types)]
types_out[is.na(types_out)] <- "string" # initialise to character by default
names(types_out) <- names(df)
return(types_out)
}
Попробуйте это для получения всех событий на Типе кнопки... Можно заменить другим типом.
RoutedEvent[] events = EventManager.GetRoutedEventsForOwner(typeof(Button));
foreach (RoutedEvent e in events)
elem.AddHandler(e, handler);
Можно также заменить следующим для получения ВСЕХ направленных событий для ВСЕХ типов, но это было бы настоящим списком!
RoutedEvent[] events = EventManager.GetRoutedEvents();
Можно использовать метод RegisterClassHandler EventManager для статичного слушания всех элементов сразу :)
EventManager.RegisterClassHandler(typeof(your class), Button.ClickEvent, new RoutedEventHandler(OnButtonClick));
static void OnButtonClick(object sender, RoutedEventArgs e)
{
//Do awesome stuff with the button click
}