Pytania otagowane jako reflection

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.

6
„rzucanie” z refleksją
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 …
81 c#  reflection  casting 

9
Pobierz właściwości w kolejności deklaracji za pomocą odbicia
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 …


1
Pobierz wszystkie właściwości, które oznaczały określony atrybut
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, …
80 c#  reflection 


5
Jak mogę uzyskać typ ogólny z reprezentacji ciągu?
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.?
79 c#  reflection  types 

7
Introspekcja / refleksja z celem-C
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ą …

2
W jaki sposób deserializacja WCF tworzy wystąpienia obiektów bez wywoływania konstruktora?
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; …

6
Dlaczego refleksja jest nazywana refleksją zamiast introspekcji?
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.

3
Uzyskaj zastąpione funkcje podklasy
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.


1
Przełamywanie optymalizacji JIT dzięki refleksji
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; } } …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.