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ę. Public Class Foo Private _Name As String Public Property Name() As String Get Return _Name End Get Set(ByVal value As String) _Name = value End Set End Property Private _Age As String Public Property Age() As String Get Return _Age End Get Set(ByVal value As String) _Age = …
Biorąc pod uwagę ciąg klasy Pythona, np. my_package.my_module.MyClassJaki jest najlepszy możliwy sposób jej załadowania? Innymi słowy szukam odpowiednika Class.forName()w Javie, funkcji w Pythonie. Musi działać w Google App Engine. Najlepiej byłoby, gdyby była to funkcja, która akceptuje FQN klasy jako ciąg i zwraca odniesienie do klasy: my_class = load_class('my_package.my_module.MyClass') my_instance …
Zainspirowany pytaniem SO. Klasa Attribute ma kilka przeciążeń dla metody IsDefined () . Objęte są atrybuty zastosowane do Assembly, Module, MemberInfo, ParameterInfo. Przeciążenie MemberInfo obejmuje PropertyInfo, FieldInfo, EventInfo, MethodInfo, ConstructorInfo. To zajmuje się większością atrybutów AttributeTargets. Z wyjątkiem jednego biggy: nie ma przeciążenia dla Attribute.IsDefined (Type, Type), dzięki czemu można …
Mam następującą klasę: public class Test { public static int a = 0; public int b = 1; } Czy można użyć odbicia, aby uzyskać listę tylko pól statycznych? Wiem, że mogę uzyskać tablicę wszystkich pól za pomocą Test.class.getDeclaredFields(). Ale wydaje się, że nie ma sposobu, aby określić, czy Fieldinstancja …
Mam blok kodu, który serializuje typ do tagu HTML. Type t = typeof(T); // I pass <T> in as a paramter, where myObj is of type T tagBuilder.Attributes.Add("class", t.Name); foreach (PropertyInfo prop in t.GetProperties()) { object propValue = prop.GetValue(myObj, null); string stringValue = propValue != null ? propValue.ToString() : String.Empty; …
Ciągle słyszę o wszystkich nowych fajnych funkcjach, które są dodawane do JVM, a jedną z tych fajnych funkcji jest wywołanie dynamiki. Chciałbym wiedzieć, co to jest i jak sprawia, że refleksyjne programowanie w Javie jest łatwiejsze lub lepsze?
Może używasz wzorca dynamicznego? Możesz wywołać dowolną metodę / właściwość za pomocą dynamicznego słowa kluczowego, prawda? Jak na przykład sprawdzić, czy metoda istnieje przed wywołaniem myDynamicObject.DoStuff ()?
Dla danej klasy chciałbym mieć funkcjonalność śledzenia tj. Chciałbym logować każde wywołanie metody (podpis metody i rzeczywiste wartości parametrów) i każde wyjście metody (tylko podpis metody). Jak to osiągnąć, zakładając, że: Nie chcę używać żadnych bibliotek AOP innych firm dla języka C #, Nie chcę dodawać zduplikowanego kodu do wszystkich …
Zastanawiam się, jak przekonwertować obiekt „typu” w języku Python na ciąg znaków przy użyciu funkcji refleksyjnych języka Python. Na przykład chciałbym wydrukować typ obiektu print "My type is " + type(someObject) # (which obviously doesn't work like this)
Ze świata PHP postanowiłem spróbować C #. Szukałem, ale nie mogę znaleźć odpowiedzi, jak zrobić odpowiednik tego. $object = new Object(); $vars = get_class_vars(get_class($object)); foreach($vars as $var) { doSomething($object->$var); } Zasadniczo mam listę obiektu. Obiekt może być jednym z trzech różnych typów i będzie miał zestaw właściwości publicznych. Chcę mieć …
Z czegoś takiego: print(get_indentation_level()) print(get_indentation_level()) print(get_indentation_level()) Chciałbym dostać coś takiego: 1 2 3 Czy kod może się w ten sposób odczytać? Chcę tylko, aby dane wyjściowe z bardziej zagnieżdżonych części kodu były bardziej zagnieżdżone. W ten sam sposób, w jaki ułatwia to odczytanie kodu, ułatwiłoby to odczytanie danych wyjściowych. Oczywiście …
czy istnieje sposób na uzyskanie wartości właściwości obiektu na podstawie jego nazwy? Na przykład, jeśli mam: public class Car : Vehicle { public string Make { get; set; } } i var car = new Car { Make="Ford" }; Chcę napisać metodę, w której mogę przekazać nazwę właściwości i zwróci …
Chcę zrobić coś takiego: List<Animal> animals = new ArrayList<Animal>(); for( Class c: list_of_all_classes_available_to_my_app() ) if (c is Animal) animals.add( new c() ); Chcę więc przyjrzeć się wszystkim klasom we wszechświecie mojej aplikacji, a kiedy znajdę taką, która pochodzi od Animal, chcę utworzyć nowy obiekt tego typu i dodać go do …
W przypadku wzorca projektowego proxy , jaka jest różnica między dynamicznym proxy JDK a interfejsami API do generowania kodu dynamicznego innych firm, takimi jak CGLib ? Jaka jest różnica między stosowaniem obu podejść i kiedy należy je preferować?
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.