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.

4
Odbicie Java - wpływ setAccessible (true)
Używam adnotacji do dynamicznego ustawiania wartości pól w klasach. Ponieważ chcę to zrobić niezależnie od tego, czy jest to publiczne, chronione czy prywatne, za setAccessible(true)każdym razem przed wywołaniem set()metody wywołuję obiekt Field . Moje pytanie brzmi: jaki wpływ ma to setAccessible()wezwanie na samo pole? Mówiąc dokładniej, powiedzmy, że jest to …
106 java  reflection 

2
Jak ustawić wartość pola struct za pomocą funkcji Reflect?
ciężko pracować z polami struct przy użyciu reflectpakietu. w szczególności nie wymyślili, jak ustawić wartość pola. type t struct {fi int; fs string} var rt = t {123, "jblow"} var i64 int64 = 456 uzyskanie nazwy pola i - wydaje się, że działa var field = reflect.TypeOf(r).Field(i).Name uzyskanie wartości pola …


10
Problem z pobieraniem AssemblyVersion do strony internetowej przy użyciu Razor / MVC3
Używam następującego kodu w stopce w moim pliku _Layout.cshtml, aby umieścić dane wersji AssemblyInfo w stopce każdej strony w mojej witrynie MVC3. Jednak: @System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString() Po prostu drukuje w stopce: Revision 0.0.0.0 Kiedy zmodyfikowałem widok, aby wyświetlić wszystkie informacje o zestawie dla „Wykonywania zestawu”, używając następującego @System.Reflection.Assembly.GetExecutingAssembly().GetName().ToString() Który drukuje następujące: Revision …



9
Unikanie wystąpienia w Javie
Łańcuch operacji „instanceof” jest uważany za „zapach kodu”. Standardowa odpowiedź brzmi „użyj polimorfizmu”. Jak bym to zrobił w tym przypadku? Istnieje wiele podklas klasy bazowej; żaden z nich nie jest pod moją kontrolą. Analogiczna sytuacja miałaby miejsce w przypadku klas Java Integer, Double, BigDecimal itp. if (obj instanceof Integer) {NumberStuff.handle((Integer)obj);} …

7
Jaka jest różnica między a.getClass () i A.class w Javie?
W Javie, jakie zalety / wady istnieją wokół wyboru użycia a.getClass()lub A.class? Każda z nich może być używana wszędzie tam, gdzie Class<?>jest oczekiwane, ale wyobrażam sobie, że użycie obu w różnych okolicznościach przyniosłoby wydajność lub inne subtelne korzyści (tak jak w przypadku Class.forName()i ClassLoader.loadClass().
102 java  class  reflection 

2
Jak uzyskać nazwę funkcji w Go?
Czy w przypadku danej funkcji można uzyskać jej nazwę? Mówić: func foo() { } func GetFunctionName(i interface{}) string { // ... } func main() { // Will print "name: foo" fmt.Println("name:", GetFunctionName(foo)) } Powiedziano mi, że runtime.FuncForPC może pomóc, ale nie rozumiałem, jak go używać.


3
Jak ograniczyć setAccessible tylko do „legalnych” zastosowań?
Im więcej poznawałem moc java.lang.reflect.AccessibleObject.setAccessible, tym bardziej jestem zdumiony tym, co on potrafi. Jest to zaadaptowane z mojej odpowiedzi na pytanie ( Używanie odbicia do zmiany statycznego pliku końcowego File.separatorChar do testowania jednostkowego ). import java.lang.reflect.*; public class EverythingIsTrue { static void setFinalStatic(Field field, Object newValue) throws Exception { field.setAccessible(true); …

3
zakres ponad interfejsem {}, który przechowuje wycinek
Biorąc pod uwagę scenariusz, w którym masz funkcję, która akceptuje t interface{}. Jeśli okaże się, że tjest to kawałek, jak mam rangego nadrobić? func main() { data := []string{"one","two","three"} test(data) moredata := []int{1,2,3} test(data) } func test(t interface{}) { switch reflect.TypeOf(t).Kind() { case reflect.Slice: // how do I iterate here? …


6
GetProperties (), aby zwrócić wszystkie właściwości dla hierarchii dziedziczenia interfejsu
Zakładając następującą hipotetyczną hierarchię dziedziczenia: public interface IA { int ID { get; set; } } public interface IB : IA { string Name { get; set; } } Korzystając z refleksji i wykonując następujące wezwanie: typeof(IB).GetProperties(BindingFlags.Public | BindingFlags.Instance) zwróci tylko właściwości interfejsu IB, którym jest „ Name”. Gdybyśmy mieli …
98 c#  .net  reflection 

4
Jak zapobiec ReflectionTypeLoadException podczas wywoływania Assembly.GetTypes ()
Próbuję przeskanować zestaw pod kątem typów implementujących określony interfejs przy użyciu kodu podobnego do tego: public List<Type> FindTypesImplementing<T>(string assemblyPath) { var matchingTypes = new List<Type>(); var asm = Assembly.LoadFrom(assemblyPath); foreach (var t in asm.GetTypes()) { if (typeof(T).IsAssignableFrom(t)) matchingTypes.Add(t); } return matchingTypes; } Mój problem polega na tym, że ReflectionTypeLoadExceptionpodczas wywoływania …

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.