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.
public bool IsList(object value) { Type type = value.GetType(); // Check if type is a generic list of any type } Jaki jest najlepszy sposób sprawdzenia, czy dany obiekt jest listą, czy może być rzutowany na listę?
Wiem, że jest kilka pytań, które to rozwiązują, ale odpowiedzi zwykle idą w ślad za zaleceniem słownika lub zbioru parametrów, co nie działa w mojej sytuacji. Korzystam z biblioteki, która działa poprzez refleksję, aby robić wiele sprytnych rzeczy z obiektami o właściwościach. Działa to ze zdefiniowanymi klasami, a także klasami …
Próbowałem dzisiaj zrobić kilka testów konwencji i uzyskać wszystkie typy w zestawie (przez wywołanie Assembly.GetTypes()), gdy natknąłem się na coś: System.RuntimeType:[First.Namespace.FirstClass] Ilekroć próbuję porównać ten typ z typeof(FirstClass), nie są one równe. Tak więc, kiedy próbuję znaleźć wszystkie typy, które zawierają FirstClassjako parametr ogólny, nie znajduję żadnego. Jaka jest różnica …
Mam następującą klasę szablonów: class MyClass<T> { T field; public void myMethod() { field = new T(); // gives compiler error } } Jak utworzyć nowe wystąpienie T w mojej klasie?
Mam ArrayList składającą się z różnych elementów zaimportowanych z bazy danych, składających się z ciągów, liczb, podwójnych i int. Czy istnieje sposób na użycie techniki typu odbicia, aby dowiedzieć się, jakie typy danych przechowuje każdy element? FYI: Powodem, dla którego istnieje tak wiele typów danych, jest to, że jest to …
Chcę sprawdzić, czy obiekt ojest instancją klasy Club podklasy klasy C. Na przykład, jeśli pjest z klasy, Pointto chcę x.instanceOf(Point.class)być truei też x.instanceOf(Object.class)być true. Chcę, aby działało również dla pudełkowych typów pierwotnych. Na przykład, jeśli xjest, Integerto x.instanceOf(Integer.class)powinno być true. Czy jest coś takiego? Jeśli nie, jak mogę wdrożyć taką …
Mam, Stringktóry ma nazwę klasy, powiedz "Ex"(bez .classrozszerzenia). Chcę go przypisać do Classzmiennej, takiej jak ta: Class cls = (string).class Jak mogę to zrobić?
Mam metodę, w której muszę rozwiązać typ klasy. Ta klasa istnieje w innym zestawie z przestrzenią nazw podobną do: MyProject.Domain.Model Próbuję wykonać następujące czynności: Type.GetType("MyProject.Domain.Model." + myClassName); Działa to świetnie, jeśli kod, który wykonuje tę akcję, znajduje się w tym samym zestawie, co klasa, której typ próbuję rozwiązać, jednak jeśli …
Badam właściwości obiektu poprzez odbicie i kontynuuję przetwarzanie typu danych każdej właściwości. Oto moje (zredukowane) źródło: private void ExamineObject(object o) { Type type = default(Type); Type propertyType = default(Type); PropertyInfo[] propertyInfo = null; type = o.GetType(); propertyInfo = type.GetProperties(BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); // Loop over all properties …
Próbuję wiedzieć, czy właściwość istnieje w klasie, próbowałem tego: public static bool HasProperty(this object obj, string propertyName) { return obj.GetType().GetProperty(propertyName) != null; } Nie rozumiem, dlaczego pierwsza metoda testu nie przechodzi? [TestMethod] public void Test_HasProperty_True() { var res = typeof(MyClass).HasProperty("Label"); Assert.IsTrue(res); } [TestMethod] public void Test_HasProperty_False() { var res = …
Mam klasę, która jest w zasadzie kopią innej klasy. public class A { int a; String b; } public class CopyA { int a; String b; } Co robię jest wprowadzenie wartości z klasy Ado CopyAprzed wysłaniem CopyAprzez wywołanie WebService. Teraz chciałbym stworzyć metodę odbicia, która w zasadzie kopiuje wszystkie …
Biorąc pod uwagę następujące obiekty: public class Customer { public String Name { get; set; } public String Address { get; set; } } public class Invoice { public String ID { get; set; } public DateTime Date { get; set; } public Customer BillTo { get; set; } } …
Chcę uzyskać PropertyInfo dla określonej właściwości. Mógłbym użyć: foreach(PropertyInfo p in typeof(MyObject).GetProperties()) { if ( p.Name == "MyProperty") { return p } } Ale musi być sposób na zrobienie czegoś podobnego do typeof(MyProperty) as PropertyInfo Jest tu? A może utknąłem podczas porównywania ciągów znaków niebezpiecznych? Twoje zdrowie.
Przykładowy program konsoli. class Program { static void Main(string[] args) { // ... code to build dll ... not written yet ... Assembly assembly = Assembly.LoadFile(@"C:\dyn.dll"); // don't know what or how to cast here // looking for a better way to do next 3 lines IRunnable r = assembly.CreateInstance("TestRunner"); …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.