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


8
Hız şablonuna benzer şekilde javada dize değişimi
StringJava'da nesneleri bir metinle geçirebileceğim herhangi bir değiştirme mekanizması var mı ve oluştuğunda dizeyi değiştirir. Örneğin, metin: Hello ${user.name}, Welcome to ${site.name}. Sahip olduğum nesneler "user"ve "site". İçeride verilen dizgeleri ${}nesnelerden eşdeğer değerleri ile değiştirmek istiyorum . Bu, bir hız şablonundaki nesneleri değiştirmemizle aynıdır.

4
Yansıma kullanarak C # 'da varsayılan kurucu olmadan tür örneği oluşturma
Aşağıdaki dersi örnek olarak alın: class Sometype { int someValue; public Sometype(int someValue) { this.someValue = someValue; } } Daha sonra yansımayı kullanarak bu türden bir örnek oluşturmak istiyorum: Type t = typeof(Sometype); object o = Activator.CreateInstance(t); Normalde bu işe yarar, ancak SomeTypeparametresiz bir kurucu tanımlamadığından, çağrısı " Bu nesne …





16
C # kodunu dinamik olarak nasıl değerlendirebilirim?
eval("something()");JavaScript'te kodu dinamik olarak çalıştırmak için bir yapabilirim . Aynı şeyi C # 'da yapmamın bir yolu var mı? Yapmaya çalıştığım şeye bir örnek: Bir tamsayı değişkenim var (diyelim i) ve birden çok özelliğim var: "Özellik1", "Özellik2", "Özellik3", vb. Şimdi, bazı işlemleri gerçekleştirmek istiyorum. değerine bağlı olarak "Özellik i " …

23
Bir Java nesnesini (bean) anahtar-değer çiftlerine (ve tersi) nasıl dönüştürebilirim?
Sadece bazı getXXX ve setXXX özelliklerine sahip çok basit bir java nesnem olduğunu varsayalım. Bu nesne, temelde bir kayıt veya tür açısından güvenli (ve performans gösteren) bir harita gibi yalnızca değerleri işlemek için kullanılır. Sık sık bu nesneyi anahtar değer çiftlerine (dizeler veya kasa tipi) dönüştürmem veya anahtar değer çiftlerinden …


7
Özel yöntemler gerçekten güvenli midir?
Java'da privateerişim değiştirici, sınıfın dışında görünmediği için güvenli kabul edilir. O zaman dış dünya da bu yöntemi bilmiyor. Ancak Java yansımasının bu kuralı çiğnemek için kullanılabileceğini düşündüm. Aşağıdaki durumu düşünün: public class ProtectedPrivacy{ private String getInfo(){ return "confidential"; } } Şimdi başka bir dersten Bilgi alacağım: public class BreakPrivacy{ public …

4
Bir Sınıfın Java'da bir arayüz uygulayıp uygulamadığını belirleme
Bir Classnesnem var. ClassNesnenin temsil ettiği türün belirli bir arabirimi uygulayıp uygulamadığını belirlemek istiyorum . Bunun nasıl başarılabileceğini merak ediyordum. Takip koduna sahibim. Temel olarak yaptığı şey, belirli bir paketteki tüm sınıfların bir dizisini almaktır. Daha sonra diziye gitmek ve haritama bir arabirim uygulayan Sınıf nesnelerini eklemek istiyorum. Sorun, isInstance()bir …
92 java  reflection 

6
C # Yansıma: Dizeden sınıf başvurusu nasıl alınır?
Bunu C # ile yapmak istiyorum ama nasıl yapacağımı bilmiyorum: Sınıf adı -eg olan bir dizem var FooClassve bu sınıfta bir (statik) yöntemi çağırmak istiyorum: FooClass.MyMethod(); Açıkçası, yansıtma yoluyla sınıfa bir referans bulmam gerekiyor, ama nasıl?
92 c#  reflection 

10
Nesneyi sözlüğe eşleme ve tersi
Nesneyi bir sözlüğe veya tam tersine eşlemenin zarif ve hızlı bir yolu var mı? Misal: IDictionary<string,object> a = new Dictionary<string,object>(); a["Id"]=1; a["Name"]="Ahmad"; // ..... olur SomeClass b = new SomeClass(); b.Id=1; b.Name="Ahmad"; // ..........

6
C # 'da çalışma zamanında DLL'leri yükleme
Bir C # uygulaması içinde çalışma zamanında bir .dll dosyasını içe aktarmayı ve kullanmayı nasıl yapabileceğinizi anlamaya çalışıyorum. Assembly.LoadFile () kullanarak programımı dll'yi yüklemeyi başardım (ToString () ile sınıfın adını alabildiğim için bu kısım kesinlikle çalışıyor), ancak 'Çıktı'yı kullanamıyorum konsol uygulamamın içinden yöntem. .Dll dosyasını derliyorum ve ardından konsolumun projesine …
91 c#  reflection  dll 

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.