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.
Rozważmy następujący przykładowy kod: class SampleClass { public long SomeProperty { get; set; } } public void SetValue(SampleClass instance, decimal value) { // value is of type decimal, but is in reality a natural number => cast instance.SomeProperty = (long)value; } Teraz muszę zrobić coś podobnego poprzez refleksję: void SetValue(PropertyInfo …
Muszę pobrać wszystkie właściwości za pomocą odbicia w kolejności, w jakiej są zadeklarowane w klasie. Według MSDN nie można zagwarantować zamówienia podczas korzystaniaGetProperties() Metoda GetProperties nie zwraca właściwości w określonej kolejności, takiej jak kolejność alfabetyczna lub deklaracja. Ale przeczytałem, że istnieje obejście polegające na porządkowaniu właściwości według MetadataToken. Więc moje …
class Parent { public string A { get; set; } } class Child : Parent { public string B { get; set; } } Potrzebuję tylko właściwości B, bez właściwości A, ale Child.GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance) zwraca obie właściwości: /
Mam tam klasę i właściwości. Niektóre właściwości można oznaczyć atrybutem (to moje LocalizedDisplayNamedziedzictwo DisplayNameAttribute). Oto metoda na pobranie wszystkich właściwości klasy: private void FillAttribute() { Type type = typeof (NormDoc); PropertyInfo[] propertyInfos = type.GetProperties(); foreach (var propertyInfo in propertyInfos) { ... } } Chcę dodać właściwości klasy w polu listy, …
Mam MyClass<T>. A potem mam to string s = "MyClass<AnotherClass>";. Jak mogę uzyskać Type z ciągu s? Jednym ze sposobów (brzydkim) jest przeanalizowanie „<” i „>” i wykonanie: Type acType = Type.GetType("AnotherClass"); Type whatIwant = typeof (MyClass<>).MakeGenericType(acType); Ale czy istnieje bardziej przejrzysty sposób uzyskania ostatecznego typu bez analizowania itp.?
Czy istnieje wbudowana metoda, funkcja, interfejs API, powszechnie przyjęty sposób itp. W celu zrzucenia zawartości instancji obiektu w Objective-C, szczególnie w środowisku Apple Cocoa / Cocoa-Touch? Chcę móc zrobić coś takiego MyType *the_thing = [[MyType alloc] init]; NSString *the_dump = [the_thing dump]; //pseudo code NSLog("Dumped Contents: %@", the_dump); i wyświetlają …
Podczas deserializacji WCF zachodzi pewna magia. W jaki sposób tworzy wystąpienie typu kontraktu danych bez wywoływania jego konstruktora? Rozważmy na przykład ten kontrakt danych: [DataContract] public sealed class CreateMe { [DataMember] private readonly string _name; [DataMember] private readonly int _age; private readonly bool _wasConstructorCalled; public CreateMe() { _wasConstructorCalled = true; …
Skąd pochodzi termin refleksja? To bardziej przypomina introspekcję. Dlaczego tak się nie nazywa? Introspekcja : spojrzenie do wewnątrz; w szczególności akt lub proces samooceny. Odbicie : akt odbicia lub stan odbicia. obraz; reprezentacja; odpowiednik utrwalenie myśli na czymś; rozważne przemyślenie myśl pojawiająca się podczas rozważania lub medytacji.
Czy istnieje sposób na uzyskanie wszystkich nadpisanych funkcji podklasy w Pythonie? Przykład: class A: def a1(self): pass def a2(self): pass class B(A): def a2(self): pass def b1(self): pass W tym miejscu chciałbym uzyskać listę ["a2"]dla obiektu klasy B(lub samego obiektu klasy), ponieważ klasa Bzastępuje tylko jedną metodę, a mianowicie a2.
C # 8.0 wprowadza typy odwołania zerowalne. Oto prosta klasa z właściwością zerowalną: public class Foo { public String? Bar { get; set; } } Czy istnieje sposób na sprawdzenie, czy właściwość klasy używa typu odwołania zerowego poprzez odbicie?
Podczas majstrowania przy testach jednostkowych dla wysoce współbieżnej klasy singleton natknąłem się na następujące dziwne zachowanie (testowane na JDK 1.8.0_162): private static class SingletonClass { static final SingletonClass INSTANCE = new SingletonClass(0); final int value; static SingletonClass getInstance() { return INSTANCE; } SingletonClass(int value) { this.value = value; } } …
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.