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

19
Bir birim testinin parçası olarak kodun çalışıp çalışmadığını belirleyin
Bir birim testim var (nUnit). Çağrı yığınının altındaki birçok katman, bir birim testi aracılığıyla çalışıyorsa bir yöntem başarısız olur. İdeal olarak, bu yöntemin bağlı olduğu nesneyi kurmak için alay gibi bir şey kullanırsınız, ancak bu 3. taraf kodudur ve bunu çok fazla çalışma yapmadan yapamam. Kurulum nUnit'e özgü yöntemler istemiyorum …
107 c#  reflection  nunit 

4
Java yansıması - setAccessible'ın etkisi (true)
Sınıflardaki alanların değerlerini dinamik olarak ayarlamak için bazı ek açıklamalar kullanıyorum. Herkese açık, korumalı veya özel olmasına bakılmaksızın bunu yapmak istediğim için setAccessible(true), set()yöntemi çağırmadan önce her seferinde Field nesnesini çağırıyorum . Sorum şu ki, setAccessible()çağrının sahanın kendisi üzerinde ne tür bir etkisi var? Daha spesifik olarak, bunun özel bir …
106 java  reflection 

13
IEnumerable <T> 'den T türü alma
Yazıyı derinlemesine düşünerek Telde etmenin bir yolu var IEnumerable&lt;T&gt;mı? Örneğin değişken bir bilgim var IEnumerable&lt;Child&gt;; Düşünme yoluyla Çocuğun türünü geri almak istiyorum
106 c#  generics  reflection 

10
Razor / MVC3 kullanarak AssemblyVersion'ı bir web sayfasına alma sorunu
AssemblyInfo sürüm verilerini MVC3 sitemdeki her sayfanın altbilgisine koymak için _Layout.cshtml dosyamdaki bir altbilgide aşağıdaki kodu kullanıyorum. Ancak: @System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString() Sadece altbilgiye yazdırılır: Revision 0.0.0.0 Aşağıdakileri kullanarak "Montaj Yürütülüyor" için tüm montaj bilgilerini görüntülemek için görünümü değiştirdiğimde @System.Reflection.Assembly.GetExecutingAssembly().GetName().ToString() Aşağıdakileri yazdıran: Revision App_Web__layout.cshtml.639c3968.hlogy75x, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null Bu, "Yürütme Meclisi" nin benim ana …



9
Java'da instanceof'tan kaçınmak
"Eşgörünüm" işlemleri zincirine sahip olmak "kod kokusu" olarak kabul edilir. Standart cevap "polimorfizm kullan" dır. Bu durumda bunu nasıl yaparım? Bir temel sınıfın birkaç alt sınıfı vardır; hiçbiri benim kontrolüm altında değil. Integer, Double, BigDecimal vb Java sınıflarında da benzer bir durum söz konusudur. if (obj instanceof Integer) {NumberStuff.handle((Integer)obj);} else …

7
Java'da a.getClass () ve A.class arasındaki fark nedir?
Java'da, kullanma a.getClass()veya kullanma seçimini çevreleyen artılar / eksiler A.classnelerdir? Her ikisi de a'nın Class&lt;?&gt;beklendiği yerde kullanılabilir , ancak her ikisini de farklı koşullarda kullanmanın performans veya diğer ince faydaları olacağını hayal ediyorum (tıpkı Class.forName()ve ile olduğu gibi ClassLoader.loadClass().
102 java  class  reflection 

2
Go'da bir işlevin adı nasıl alınır?
Bir işlev verildiğinde, adını almak mümkün mü? Söyle: func foo() { } func GetFunctionName(i interface{}) string { // ... } func main() { // Will print "name: foo" fmt.Println("name:", GetFunctionName(foo)) } Runtime.FuncForPC'nin yardımcı olacağı söylendi , ancak nasıl kullanılacağını anlayamadım.


3
SetAccessible'ı yalnızca “meşru” kullanımlarla nasıl sınırlandırılır?
Gücü hakkında java.lang.reflect.AccessibleObject.setAccessiblene kadar çok şey öğrenirsem, yapabileceklerine o kadar çok şaşırıyorum. Bu soruya verdiğim yanıttan uyarlanmıştır ( Birim testi için statik nihai File.separatorChar'ı değiştirmek için yansıma kullanma ). import java.lang.reflect.*; public class EverythingIsTrue { static void setFinalStatic(Field field, Object newValue) throws Exception { field.setAccessible(true); Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); …

3
bir dilim depolayan arayüz üzerinden {} aralığı
Kabul eden bir işleve sahip olduğunuz senaryo göz önüne alındığında t interface{}. tBir dilim olduğu belirlenirse, o dilimi nasıl rangeaşarım? 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? for _,value := …

4
Assembly.GetTypes () çağrılırken ReflectionTypeLoadException nasıl engellenir
Buna benzer bir kod kullanarak belirli bir arabirim uygulayan türler için bir derlemeyi taramaya çalışıyorum: public List&lt;Type&gt; FindTypesImplementing&lt;T&gt;(string assemblyPath) { var matchingTypes = new List&lt;Type&gt;(); var asm = Assembly.LoadFrom(assemblyPath); foreach (var t in asm.GetTypes()) { if (typeof(T).IsAssignableFrom(t)) matchingTypes.Add(t); } return matchingTypes; } Benim sorunum, bazı durumlarda ReflectionTypeLoadExceptionçağırırken bir almam asm.GetTypes(), …


6
Arayüz devralma hiyerarşisinin tüm özelliklerini döndürmek için GetProperties ()
Aşağıdaki varsayımsal miras hiyerarşisini varsayarsak: public interface IA { int ID { get; set; } } public interface IB : IA { string Name { get; set; } } Düşünmeyi kullanmak ve aşağıdaki çağrıyı yapmak: typeof(IB).GetProperties(BindingFlags.Public | BindingFlags.Instance) sadece IB" Name" olan arayüz özelliklerini verecektir . Aşağıdaki kod üzerinde benzer …
99 c#  .net  reflection 

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.