Pytania oznaczone «reflection»

236
Jak sprawdzić, czy zmienna jest klasą, czy nie?

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...

231
Używanie isKindOfClass z Swift

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:...

228
Znajdź prywatne pole z Reflection?

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...

210
Jak uzyskać listę właściwości o danym atrybucie?

Mam typ ti chciałbym uzyskać listę właściwości publicznych, które mają atrybut MyAttribute. Atrybut jest oznaczony AllowMultiple = falsenastępująco: [AttributeUsage(AttributeTargets.Property, AllowMultiple = false)] Obecnie mam to, ale myślę, że jest lepszy sposób: foreach (PropertyInfo prop in...

210
Jak kosztowne jest odbicie .NET?

Ciągle słyszę, jak używać złego odbicia. Chociaż generalnie unikam refleksji i rzadko znajduję sytuacje, w których nie można rozwiązać mojego problemu bez niego, zastanawiałem się ... Czy dla tych, którzy używali refleksji w aplikacjach, zmierzyliście wyniki wydajności i czy naprawdę jest tak...

203
Uzyskaj nazwę właściwości jako ciąg

(Zobacz poniżej rozwiązanie, które utworzyłem przy użyciu odpowiedzi, którą zaakceptowałem) Usiłuję poprawić konserwowalność kodu wymagającego refleksji. Aplikacja ma interfejs zdalny .NET, odsłaniając (między innymi) metodę o nazwie Wykonaj, aby uzyskać dostęp do części aplikacji nie zawartych w...

197
Refleksja: Jak wywołać metodę z parametrami

Próbuję wywołać metodę poprzez odbicie z parametrami i otrzymuję: obiekt nie pasuje do typu docelowego Jeśli wywołam metodę bez parametrów, działa dobrze. Na podstawie następującego kodu, jeśli wywołam metodę Test("TestNoParameters"), działa dobrze. Jednak jeśli zadzwonię Test("Run"), otrzymam...

191
Uzyskiwanie nazwy zestawu

Klasa wyjątku C # ma właściwość source, która domyślnie jest ustawiona na nazwę zestawu. Czy istnieje inny sposób na uzyskanie tego dokładnego ciągu (bez parsowania innego ciągu)? Próbowałem następujące: catch(Exception e) { string str = e.Source; //"EPA" - what I want str =...