«reflection» etiketlenmiş sorular

Yansıma, bir programın çalışma zamanında yapısını ve / veya davranışını gözlemleme ve / veya değiştirme yeteneğidir. Yansıma, destekleyici programlama diline bağlıdır - lütfen bu etiketi kullanırken kullanılan programlama dilini etiketleyin.


11
Java yansımasını kullanarak özel statik son alanı değiştirme
Bir dersim var private static finalMaalesef çalışma zamanında değiştirmem gereken alanı olan . Yansıma kullanarak bu hatayı alıyorum: java.lang.IllegalAccessException: Can not set static final boolean field Değeri değiştirmenin bir yolu var mı? Field hack = WarpTransform2D.class.getDeclaredField("USE_HACK"); hack.setAccessible(true); hack.set(null, true);




10
Reflektöre Açık Kaynak Alternatifler? [kapalı]
Şu anda olduğu gibi, bu soru Soru-Cevap formatımıza uygun değil. Yanıtların gerçekler, referanslar veya uzmanlık tarafından desteklenmesini bekliyoruz, ancak bu soru muhtemelen tartışma, tartışma, oylama veya genişletilmiş tartışma talep edecektir. Bu sorunun çözülebileceğini ve muhtemelen yeniden açılabileceğini düşünüyorsanız, yardım için yardım merkezini ziyaret edin . 7 yıl önce kapalı . …

16
Bir Python modülündeki tüm fonksiyonlar nasıl listelenir?
Sistemime yüklü bir python modülü var ve içinde hangi işlevlerin / sınıfların / yöntemlerin mevcut olduğunu görmek istiyorum. Her birinde doc işlevini çağırmak istiyorum. Ruby'de ClassName.methods gibi bir şey yapabilirim. Python'da benzer bir şey var mı? Örneğin. gibi bir şey: from somemodule import foo print foo.methods # or whatever is …

15
Java dizesi gerçekten değişmez mi?
Hepimiz StringJava'da değişmez olduğunu biliyoruz , ancak aşağıdaki kodu kontrol edin: String s1 = "Hello World"; String s2 = "Hello World"; String s3 = s1.substring(6); System.out.println(s1); // Hello World System.out.println(s2); // Hello World System.out.println(s3); // World Field field = String.class.getDeclaredField("value"); field.setAccessible(true); char[] value = (char[])field.get(s1); value[6] = 'J'; value[7] = …

3
Go'daki etiketler için kullanımları nelerdir?
In Git Dil Şartname , bu etiketlerin kısa bir özetini bahseder: Alan bildiriminin ardından, karşılık gelen alan bildirimindeki tüm alanlar için bir nitelik haline gelen isteğe bağlı bir dize değişmez etiketi gelebilir. Etiketler bir yansıma arabirimi aracılığıyla görünür hale getirilir, ancak aksi takdirde yok sayılır. // A struct corresponding to …
392 go  reflection  struct 


14
C ++ 'ın neden yansıması yok?
Bu biraz tuhaf bir soru. Hedeflerim, dil tasarımı kararını anlamak ve C ++ 'da düşünme olanaklarını tanımlamaktır. C ++ dil komitesi neden dilde yansıma uygulamaya gitmedi? Sanal makinede çalışmayan bir dilde (java gibi) yansıma çok zor mu? Eğer biri C ++ için yansıma uygulayacak olsaydı, zorluklar neler olacak? Sanırım yansıma …
337 c++  reflection 

5
Bir türün bir alt tür VEYA bir nesnenin türü olup olmadığını nasıl kontrol edebilirim?
Bir türün C # içinde başka bir türün alt sınıfı olup olmadığını kontrol etmek için kolaydır: typeof (SubClass).IsSubclassOf(typeof (BaseClass)); // returns true Ancak, bu başarısız olacaktır: typeof (BaseClass).IsSubclassOf(typeof (BaseClass)); // returns false Bir ORişleç kullanmadan veya bir uzantı yöntemi kullanmadan , bir türün temel sınıfın alt sınıfı VEYA olup olmadığını …
335 c#  reflection  types  subclass 

11
Özel bir yöntemi çağırmak için yansımayı nasıl kullanabilirim?
Sınıfımda bir grup özel yöntem vardır ve bir girdi değerine göre dinamik olarak çağırmak gerekir. Hem çağrı kodu hem de hedef yöntemler aynı örnektir. Kod şöyle görünür: MethodInfo dynMethod = this.GetType().GetMethod("Draw_" + itemType); dynMethod.Invoke(this, new object[] { methodParams }); Bu durumda, GetMethod()özel yöntemler döndürmez. Özel yöntemleri bulabilmesi BindingFlagsiçin nelere ihtiyacım …

10
Yansıma kullanarak nesne özelliğini ayarlama
C # bir nesne özelliği ayarlamak için yansıma kullanabilirsiniz bir yolu var mı? Ör: MyObject obj = new MyObject(); obj.Name = "Value"; obj.NameYansımayı ayarlamak istiyorum . Gibi bir şey: Reflection.SetProperty(obj, "Name") = "Value"; Bunu yapmanın bir yolu var mı?

13
Java.lang.reflect.InvocationTargetException'a ne sebep olabilir?
Neyin sebep olabileceğini anlamaya ve okumaya çalıştım ama anlayamıyorum: Benim kodda bir yerde var: try{ .. m.invoke(testObject); .. } catch(AssertionError e){ ... } catch(Exception e){ .. } Bir şey, bir yöntemi çağırmaya çalıştığında, InvocationTargetExceptionbeklenen diğer bir istisna yerine (özellikle ArrayIndexOutOfBoundsException) atar . Aslında hangi yöntemin çağrıldığını bildiğim için doğrudan bu …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.