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.
Mam klasę, która używa XML i odbicia, aby zwrócić Objects do innej klasy. Zwykle te obiekty są polami podrzędnymi obiektu zewnętrznego, ale czasami jest to coś, co chcę wygenerować w locie. Próbowałem czegoś takiego, ale bezskutecznie. Uważam, że dzieje się tak, ponieważ Java nie pozwala na dostęp do privatemetod refleksji. …
Czy można uzyskać typ parametru generycznego? Przykład: public final class Voodoo { public static void chill(List<?> aListWithTypeSpiderMan) { // Here I'd like to get the Class-Object 'SpiderMan' Class typeOfTheList = ???; } public static void main(String... args) { chill(new ArrayList<SpiderMan>()); } }
Czy za pomocą Java Reflection można uzyskać nazwę zmiennej lokalnej? Na przykład, jeśli mam to: Foo b = new Foo(); Foo a = new Foo(); Foo r = new Foo(); czy można zaimplementować metodę, która może znaleźć nazwy tych zmiennych, na przykład: public void baz(Foo... foos) { for (Foo foo: …
Próbuję uzyskać wartość pola poprzez refleksję. Problem polega na tym, że nie znam typu pól i muszę o tym decydować podczas pobierania wartości. Ten kod skutkuje tym wyjątkiem: Nie można ustawić pola java.lang.String field com .... fieldName na java.lang.String Field field = object.getClass().getDeclaredField(fieldName); field.setAccessible(true); Class<?> targetType = field.getType(); Object objectValue …
IC # robimy to poprzez refleksję. W Javascript jest to proste: for(var propertyName in objectName) var currentPropertyValue = objectName[propertyName]; Jak to zrobić w Pythonie?
Chciałbym przeprowadzić test, jeśli obiekt jest typu ogólnego. Próbowałem następujących bez powodzenia: public bool Test() { List<int> list = new List<int>(); return list.GetType() == typeof(List<>); } Co robię źle i jak mam wykonać ten test?
Mam obiekt Java „ChildObj”, który jest rozszerzony z „ParentObj”. Teraz, czy możliwe jest pobranie wszystkich nazw atrybutów i wartości ChildObj, w tym również atrybutów dziedziczonych, przy użyciu mechanizmu odbicia Java? Class.getFields podaje tablicę atrybutów publicznych, a Class.getDeclaredFields - tablicę wszystkich pól, ale żadne z nich nie zawiera listy dziedziczonych pól. …
Muszę uzyskać słownik właściwości i ich wartości z obiektu zadeklarowanego za pomocą dynamicznego słowa kluczowego w .NET 4? Wydaje się, że użycie do tego refleksji nie zadziała. Przykład: dynamic s = new ExpandoObject(); s.Path = "/Home"; s.Name = "Home"; // How do I enumerate the Path and Name properties and …
Próbuję uzyskać nazwę ciągu klasy z samego obiektu klasy. // For instance [NSArray className]; // @"NSArray" Znalazłem, object_getClassName(id obj)ale wymaga to przekazania do niego instancji, aw moim przypadku jest to niepotrzebna praca. Jak więc mogę uzyskać ciąg znaków z obiektu klasy, a nie instancji?
Muszę uzyskać wartość pola z określoną adnotacją, więc dzięki refleksji mogę uzyskać ten obiekt pola. Problem w tym, że to pole zawsze będzie prywatne, chociaż z góry wiem, że zawsze będzie miało metodę pobierającą. Wiem, że mogę użyć setAccesible (true) i uzyskać jego wartość (gdy nie ma PermissionManager), chociaż wolę …
Czy mogę ustawić własność prywatną poprzez odbicie? public abstract class Entity { private int _id; private DateTime? _createdOn; public virtual T Id { get { return _id; } private set { ChangePropertyAndNotify(ref _id, value, x => Id); } } public virtual DateTime? CreatedOn { get { return _createdOn; } private …
Jeśli mam taką klasę: public class Whatever { public void aMethod(int aParam); } czy istnieje sposób, aby dowiedzieć się, że aMethodużywa parametru o nazwie aParam, czyli typu int?
Mam obiekt typu anonimowego, który otrzymuję jako dynamiczny z metody, którą chciałbym sprawdzić, czy właściwość istnieje w tym obiekcie. .... var settings = new { Filename="temp.txt", Size=10 } ... function void Settings(dynamic settings) { var exists = IsSettingExist(settings,"Filename") } Jak zaimplementować IsSettingExist?
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.