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.
Czy istnieje sposób utworzenia instancji określonej klasy, biorąc pod uwagę nazwę klasy (dynamiczną) i przekazać parametry do jej konstruktora. Coś jak: Object object = createInstance("mypackage.MyClass","MyAttributeValue"); Gdzie "MyAttributeValue"jest argument do konstruktora MyClass.
Chciałbym ustawić właściwość obiektu poprzez odbicie, z wartością typu string. Załóżmy na przykład, że mam Shipklasę, której właściwość Latitudeto double. Oto, co chciałbym zrobić: Ship ship = new Ship(); string value = "5.5"; PropertyInfo propertyInfo = ship.GetType().GetProperty("Latitude"); propertyInfo.SetValue(ship, value, null); Jak to powoduje ArgumentException: Obiekt typu „System.String” nie może zostać …
Mam w swoim projekcie klasę ogólną z klasami pochodnymi. public class GenericClass<T> : GenericInterface<T> { } public class Test : GenericClass<SomeType> { } Czy jest jakiś sposób, aby dowiedzieć się, czy Typeobiekt pochodzi GenericClass? t.IsSubclassOf(typeof(GenericClass<>)) nie działa.
Jak rozpoznać, czy funkcja w JavaScript jest zdefiniowana? Chcę zrobić coś takiego function something_cool(text, callback) { alert(text); if( callback != null ) callback(); } Ale to mnie rozumie oddzwanianie nie jest funkcją błąd, gdy wywołanie zwrotne nie jest zdefiniowane.
Chcę przekonwertować ciąg na wartość właściwości obiektu, którego nazwę mam jako ciąg. Próbuję to zrobić w ten sposób: string modelProperty = "Some Property Name"; string value = "SomeValue"; var property = entity.GetType().GetProperty(modelProperty); if (property != null) { property.SetValue(entity, Convert.ChangeType(value, property.PropertyType), null); } Problem polega na tym, że zawodzi i generuje …
Widziałem wiele przykładów ludzi wydobywających wszystkie klasy z modułu, zwykle coś takiego: # foo.py class Foo: pass # test.py import inspect import foo for name, obj in inspect.getmembers(foo): if inspect.isclass(obj): print obj Niesamowite. Ale nie mogę się dowiedzieć, jak uzyskać wszystkie klasy z bieżącego modułu. # foo.py import inspect class …
Czy istnieje sposób na dynamiczne uzyskiwanie nazw parametrów funkcji? Powiedzmy, że moja funkcja wygląda następująco: function doSomething(param1, param2, .... paramN){ // fill an array with the parameter name and value // some other code } W jaki sposób mógłbym uzyskać listę nazw parametrów i ich wartości do tablicy z wnętrza …
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ę tutaj o natywnym C ++, nie zarządzanym C ++, który ma odbicie. Zdaję sobie sprawę, że C ++ dostarcza pewne ograniczone informacje za pomocą RTTI. Jakie dodatkowe biblioteki (lub inne techniki) …
Mam klasę, nazwijmy ją Zarezerwuj z właściwością o nazwie Nazwa. Z tą właściwością mam powiązany atrybut. public class Book { [Author("AuthorName")] public string Name { get; private set; } } W mojej głównej metodzie używam refleksji i chcę uzyskać parę klucz-wartość dla każdego atrybutu dla każdej właściwości. Dlatego w tym …
Zastanawiałem się, jak sprawdzić, czy zmienna jest klasą (a nie instancją!), Czy nie. Próbowałem użyć tej funkcji isinstance(object, class_or_type_or_tuple), ale nie wiem, jaki typ będzie miał klasa. Na przykład w następującym kodzie class Foo: pass isinstance(Foo, **???**) # i want to make this return True. Próbowałem zastąpić „ class” ??? …
Próbuję uchwycić trochę Szybkiego języka i zastanawiam się, jak przekonwertować następujący Cel C w Swift: - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [super touchesBegan:touches withEvent:event]; UITouch *touch = [touches anyObject]; if ([touch.view isKindOfClass: UIPickerView.class]) { //your touch was in a uipickerview ... do whatever you have to do } } Mówiąc …
Biorąc pod uwagę tę klasę class Foo { // Want to find _bar with reflection [SomeAttribute] private string _bar; public string BigBar { get { return this._bar; } } } Chcę znaleźć prywatny element _bar, który oznaczę atrybutem. Czy to jest możliwe? Zrobiłem to z właściwościami, w których szukałem atrybutu, …
Załóżmy następujące definicje typów: public interface IFoo<T> : IBar<T> {} public class Foo<T> : IFoo<T> {} Jak dowiedzieć się, czy typ Fooimplementuje ogólny interfejs, IBar<T>gdy dostępny jest tylko zniekształcony typ?
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.