reflection
Czym jest refleksja i dlaczego jest przydatna?
Czym jest refleksja i dlaczego jest przydatna?
Szczególnie interesuje mnie Java, ale zakładam, że zasady są takie same w każdym języku.
Jak utworzyć tablicę generyczną w Javie?
Ze względu na implementację Javy generics, nie można mieć takiego kodu:
public class GenSet<E> {
private E a[];
... ay = (T[])Array.newInstance(clazz, capacity);
}
private final T[] array;
}
Ale naprawdę nie rozumiem, o co chodzi.
Jak wywołać metodę Java, gdy podano jej nazwę jako łańcuch znaków?
Jeśli mam dwie zmienne:
Object obj;
String methodName = "getName";
Nie znając klasy obj, Jak mogę wywołać na niej metodę ... reśloną przez methodName?
Wywoływana metoda nie ma żadnych parametrów i zwraca wartość String. To jestgetter dla Java bean .
Jak użyć reflection, aby wywołać metodę generyczną?
Jaki jest najlepszy sposób wywołania metody generycznej, gdy parametr type nie jest znany podczas kompilacji,ale jest uzyskiw ... ericMethod<T>()
{
// ...
}
public static void StaticMethod<T>()
{
//...
}
}
Get property value from string using reflection
Próbuję zaimplementować transformację danych za pomocą odbicia1 przykład w moim kodzie.
Funkcja GetSourceValue mA przełączni ... i właściwość w łańcuchu i rozwiązać wartość właściwości.
Czy to możliwe?
1www Archiwalna wersja oryginalnego wpisu na blogu
Jak uzyskać ścieżkę złożeń, w którym znajduje się kod?
Czy istnieje sposób na uzyskanie ścieżki dla złożenia, w którym znajduje się bieżący kod? Nie chcę, aby ścieżka wywołującego ... l
Ustawienia\Temp\ ....\ DaoTests.dll
System.Reflection.Assembly.GetExecutingAssembly().Location
daje to samo co poprzednie.
Czy ciąg Javy jest naprawdę niezmienny?
Wszyscy wiemy, że String jest niezmienna w Javie, ale sprawdź następujący kod:
String s1 = "Hello World";
String s2 = "He ... tem.out.println(s3); // World
Dlaczego ten program działa w ten sposób? I dlaczego zmienia się wartość s1 i s2, a nie s3?
Zmiana prywatnego statycznego pola końcowego przy użyciu Java reflection
Mam klasę z polem private static final, które niestety muszę zmienić w czasie wykonywania.
Używając reflection dostaję ten b ... wartości?
Field hack = WarpTransform2D.class.getDeclaredField("USE_HACK");
hack.setAccessible(true);
hack.set(null, true);
Open Source alternatywy dla reflektora? [zamknięte]
Obecnie pytanie to nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi będą poparte faktami, referenc ... Lichtenberga blog post porównanie kilku alternatyw open source (DILE, ILSpy i Mono przy użyciu MonoDevelop) do Reflector.
Czy można znaleźć wszystkie klasy w pakiecie za pomocą reflection?
Czy można znaleźć wszystkie klasy lub interfejsy w danym pakiecie? (Szybko patrząc na np. Package, wygląda na to, że nie.)
Get property value from string using reflection in C#
Próbuję zaimplementować transformację danych za pomocą odbicia1 przykład w moim kodzie.
Funkcja GetSourceValue mA przełączni ... ę i właściwość w łańcuchu i rozwiązać wartość właściwości.
Czy to możliwe?
1Web Archive version of oryginalny wpis na blogu
Dlaczego C++ nie ma odbicia?
To jest nieco dziwaczne pytanie. Moim celem jest zrozumienie decyzji projektowej języka i zidentyfikowanie możliwości refleks ... mogą być generowane dla testów jednostkowych i tak dalej. Ale byłoby świetnie, gdybyś mógł też skomentować użycie refleksji.
Jak dodać reflection do aplikacji C++?
Chciałbym mieć możliwość introspekcji klasy C++ pod kątem jej nazwy, zawartości (tj. członków i ich typów) itp. Mówię tu o na ... h ograniczonych informacji za pomocą RTTI. Jakie dodatkowe biblioteki (lub inne techniki) mogłyby dostarczyć tych informacji?
Jak utworzyć nową instancję obiektu z Typu
Może nie zawsze znać Type obiektu w czasie kompilacji, ale może być konieczne utworzenie instancji Type.
Jak uzyskać nową instancję obiektu z Type?
Jak wyświetlić listę wszystkich funkcji w module Pythona?
Mam zainstalowany moduł Pythona w moim systemie i chciałbym być w stanie zobaczyć, jakie funkcje / klasy/metody są w nim dost ... ego w Pythonie?
Np. coś w stylu:
from somemodule import foo
print(foo.methods) # or whatever is the correct method to call
Uzyskanie wszystkich typów implementujących interfejs
Używając reflection, jak Mogę uzyskać wszystkie typy, które implementują interfejs z C# 3.0/. NET 3.5 z najmniejszym kodem i ... cę napisać od nowa:
foreach (Type t in this.GetType().Assembly.GetTypes())
if (t is IMyInterface)
; //do stuff
Uzyskanie nazwy aktualnie wykonywanej metody
Czy istnieje sposób na uzyskanie nazwy aktualnie wykonywanej metody w Javie?
Jaka jest różnica między instanceof A Class.czy istnieje możliwość(...)?
Która z poniższych opcji jest lepsza?
a instanceof B
Lub
B.class.isAssignableFrom(a.getClass())
Jedyną różnicą, o któr ... , Jest to, że gdy 'a' jest równe null, pierwsza zwraca false, a druga rzuca wyjątek. Poza tym, czy zawsze dają ten sam wynik?
Jak odczytać wartość pola prywatnego z innej klasy w Javie?
Mam źle zaprojektowaną klasę w 3rd-party JAR i muszę uzyskać dostęp do jednego z jej pól private. Na przykład,
dlaczego powin ... private Hashtable stuffIWant;
}
IWasDesignedPoorly obj = ...;
Jak mogę użyć reflection, aby uzyskać wartość stuffIWant?
Pobieranie nowej instancji obiektu z Typu
Może nie zawsze znać typ obiektu w czasie kompilacji, ale może być konieczne utworzenie instancji tego typu. Jak uzyskać nową instancję obiektu z Typu?