Co to jest odbicie i dlaczego jest przydatne? Szczególnie interesuję się Javą, ale zakładam, że zasady są takie same w każdym
Odbicie to zdolność programu do obserwowania i / lub modyfikowania jego struktury i / lub zachowania w czasie wykonywania. Refleksja zależy od obsługiwanego języka programowania - należy oznaczyć język programowania używany podczas używania tego znacznika.
Co to jest odbicie i dlaczego jest przydatne? Szczególnie interesuję się Javą, ale zakładam, że zasady są takie same w każdym
Ze względu na implementację generycznych Java, nie możesz mieć takiego kodu: public class GenSet<E> { private E a[]; public GenSet() { a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation } } Jak mogę to zaimplementować, zachowując bezpieczeństwo typu? Na forach Java...
Jaki jest najlepszy sposób na wywołanie metody ogólnej, gdy parametr type nie jest znany w czasie kompilacji, a zamiast tego jest uzyskiwany dynamicznie w czasie wykonywania? Rozważ następujący przykładowy kod - w jaki Example()sposób najbardziej zwięzły sposób wywołać GenericMethod<T>()za...
Próbuję zaimplementować transformację danych przy użyciu przykładu Reflection 1 w moim kodzie. GetSourceValueFunkcja posiada przełącznik porównujące różne typy, ale chcę, aby usunąć te rodzaje i właściwości i mają GetSourceValueuzyskać wartość właściwości przy użyciu tylko jednego ciągu jako...
Czy istnieje sposób na uzyskanie ścieżki do zestawu, w którym znajduje się bieżący kod? Nie chcę ścieżki do wywołującego zestawu, tylko tego zawierającego kod. Zasadniczo mój test jednostkowy musi odczytać niektóre pliki testowe xml, które znajdują się w stosunku do biblioteki dll. Chcę, aby...
Nie zawsze można znać Typeobiekt w czasie kompilacji, ale może być konieczne utworzenie instancji obiektu Type. Jak uzyskać nową instancję obiektu z
Jeśli mam dwie zmienne: Object obj; String methodName = "getName"; Nie znając klasy obj, jak mogę wywołać metodę identyfikowaną przez methodNamenią? Wywoływana metoda nie ma parametrów i Stringzwraca wartość. To jest getter dla fasoli Java
Jak uzyskać listę wszystkich właściwości
Jak mogę sprawdzić, czy zmienna jest zdefiniowana w Ruby? Czy dostępna jest issetmetoda
Ma odbicie w C#ofercie taki sposób, aby ustalić, czy niektórych podanych System.Typemodeli typu jakiś interfejs? public interface IMyInterface {} public class MyType : IMyInterface {} // should yield 'true' typeof(MyType)./* ?????
Używając refleksji, w jaki sposób mogę uzyskać wszystkie typy, które implementują interfejs z C # 3.0 / .NET 3.5 z najmniejszym kodem i minimalizując iteracje? Oto, co chcę ponownie napisać: foreach (Type t in this.GetType().Assembly.GetTypes()) if (t is IMyInterface) ; //do...
Czy można znaleźć wszystkie klasy lub interfejsy w danym pakiecie? (Szybko patrząc np Package. Wydaje się, że
Korzystam z odbicia, aby przeglądać Typewłaściwości a i ustawiać niektóre typy na domyślne. Teraz mógłbym zmienić typ i ustawić default(Type)jawnie, ale wolałbym to zrobić w jednym wierszu. Czy istnieje programowy odpowiednik wartości
Jak mogę to osiągnąć? public class GenericClass<T> { public Type getMyType() { //How do I return the type of T? } } Wszystko, czego do tej pory próbowałem, zawsze zwraca typ, Objecta nie określony
Chciałbym wiedzieć, czy można uzyskać atrybuty enumwartości, a nie enumsamego? Załóżmy na przykład, że mam następujące elementy enum: using System.ComponentModel; // for DescriptionAttribute enum FunkyAttributesEnum { [Description("Name With Spaces1")] NameWithoutSpaces1, [Description("Name...
Mam źle zaprojektowaną klasę w JARfirmie zewnętrznej i muszę uzyskać dostęp do jednego z jej prywatnych pól. Na przykład, dlaczego powinienem wybrać pole prywatne, czy jest to konieczne? class IWasDesignedPoorly { private Hashtable stuffIWant; } IWasDesignedPoorly obj = ...; Jak mogę użyć...
Mam zajęcia z private static finalpolem, które niestety muszę zmienić w czasie wykonywania. Za pomocą odbicia otrzymuję ten błąd: java.lang.IllegalAccessException: Can not set static final boolean field Czy jest jakiś sposób na zmianę wartości? Field hack =
Czy istnieje sposób na uzyskanie nazwy aktualnie wykonywanej metody w
Jeśli mam klasę o nazwie MyProgram, czy istnieje sposób na pobranie „ MyProgram ” jako
Które z poniższych jest lepsze? a instanceof B lub B.class.isAssignableFrom(a.getClass()) Jedyną różnicą, o której wiem, jest to, że gdy „a” jest zerowe, pierwsze zwraca false, a drugie zgłasza wyjątek. Poza tym, czy zawsze dają taki sam