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


1
Belirsiz bir eşleşme istisnasından kaçınma
Statik bir yöntemi çağırıyorum Yansıma yoluyla bir türü ayrıştırıyorum çünkü derleme zamanında nesnenin türünü bilmiyorum (ancak, bir dize alan bir Ayrıştırma yöntemi olduğunu biliyorum ). Bununla birlikte, muhtemelen her biri tek bir nesne (string, int, double vb.) Alan çok sayıda aşırı yüklenmiş Ayrıştırma yöntemi olduğu için belirsiz bir eşleşme istisnası …


18
Bir nesnenin ilkel tipte olup olmadığını belirleme
Bir Object[]dizim var ve ilkel olanları bulmaya çalışıyorum. Kullanmaya çalıştım Class.isPrimitive()ama görünüşe göre yanlış bir şey yapıyorum: int i = 3; Object o = i; System.out.println(o.getClass().getName() + ", " + o.getClass().isPrimitive()); baskılar java.lang.Integer, false. Doğru bir yol veya alternatif var mı?
114 java  reflection 

6
Swift yansımayı destekliyor mu?
Swift yansımayı destekliyor mu? örneğin gibi orada bir şeydir valueForKeyPath:ve setValue:forKeyPath:Swift nesneler için? Aslında obj.classObjective-C'de olduğu gibi dinamik bir tip sistemi var mı?
113 ios  reflection  swift 

8
Tüm referansları yinelemeli olarak AppDomain'e nasıl yükleyebilirim?
AppDomainKarmaşık bir başvuru ağacı olan yeni bir derlemeye yüklemek istiyorum (MyDll.dll -> Microsoft.Office.Interop.Excel.dll -> Microsoft.Vbe.Interop.dll -> Office.dll -> stdole.dll) Anladığım kadarıyla, bir montaj yüklenirken AppDomain, referansları otomatik olarak yüklenmiyor ve onları manuel olarak yüklemem gerekiyor. Yani yaptığım zaman: string dir = @"SomePath"; // different from AppDomain.CurrentDomain.BaseDirectory string path = System.IO.Path.Combine(dir, …

3
Yansıma ile statik yöntemi çağırın
Ad alanında birkaç statik sınıfım var mySolution.Macros örneğin static class Indent{ public static void Run(){ // implementation } // other helper methods } Öyleyse sorum, bu yöntemleri yansıtma yardımı ile çağırmanın nasıl mümkün olacağıdır? Statik OLMAYACAK yöntemler varsa, o zaman şöyle bir şey yapabilirim: var macroClasses = Assembly.GetExecutingAssembly().GetTypes().Where( x => …
112 c#  reflection  dynamic 

3
Bir Sınıfın Tanımlandığı PHP Dosyasını (çalışma zamanında) bulma
PHP'de, belirli bir sınıfın (veya işlevin) tanımlandığı PHP dosyasını bulmanızı sağlayacak herhangi bir yansıma / iç gözlem / büyü var mı? Başka bir deyişle, bir PHP sınıfının veya başlatılmış bir nesnenin adına sahibim. Bunu , sınıfın tanımlandığı dosya sistemi yolunu döndürecek bir şeye (işlev, Yansıma sınıfı, vb.) Aktarmak istiyorum. /path/to/class/definition.php …
111 php  reflection  class 


8
Yansıma ile Statik özellik nasıl elde edilir
Yani bu oldukça basit görünüyor ama işe yarayamıyorum. Bir Nesnem var ve kamuya açık özelliklerine ulaşmak için yansımayı kullanıyorum. Bu özelliklerden biri statik ve ona ulaşma konusunda hiç şansım yok. Public Function GetProp(ByRef obj As Object, ByVal propName as String) as PropertyInfo Return obj.GetType.GetProperty(propName) End Function Yukarıdaki kod, şimdiye kadar …
109 .net  reflection  static 

8
Tasarım zamanında var kullanılarak bildirilen bir değişkenin türünü güvenilir bir şekilde nasıl belirleyebilirim?
Emacs'de C # için bir tamamlama (intellisense) tesisi üzerinde çalışıyorum. Buradaki fikir şudur, eğer bir kullanıcı bir parça yazarsa ve daha sonra belirli bir tuş vuruşu kombinasyonu yoluyla tamamlama isterse, tamamlama tesisi olası tamamlamaları belirlemek için .NET yansımasını kullanır. Bunu yapmak, tamamlanan şeyin türünün bilinmesini gerektirir. Bir dizeyse, bilinen bir …

2
Mülk türünü bulmak için PropertyInfo kullanma
Bazı özel doğrulama yapmak için bir nesne ağacını dinamik olarak ayrıştırmak istiyorum. Doğrulama bu kadar önemli değil, ancak PropertyInfo sınıfını daha iyi anlamak istiyorum. Bunun gibi bir şey yapacağım public bool ValidateData(object data) { foreach (PropertyInfo propertyInfo in data.GetType().GetProperties()) { if (the property is a string) { string value = …
108 c#  .net  reflection 

15
Tamsayı Uzunluğa Dönüştürme
Yansıma kullanarak bir alanın değerini elde etmem gerekiyor. Öyle oluyor ki, alanın veri türünün ne olduğundan her zaman emin olamıyorum. Bunun için ve bazı kod kopyalarını önlemek için aşağıdaki yöntemi oluşturdum: @SuppressWarnings("unchecked") private static <T> T getValueByReflection(VarInfo var, Class<?> classUnderTest, Object runtimeInstance) throws Throwable { Field f = classUnderTest.getDeclaredField(processFieldName(var)); f.setAccessible(true); …
108 java  reflection  casting 



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.