I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Du kan enten loade den aktualle assembly, eller fra en fil. Assembly a = Assembly.GetExecutingAssembly(); eller Assembly a = Assembly.LoadFile(@"c:\myAssembly.dll");
Og så kan du gennemløbe alle typerne: foreach (Type t in a.GetTypes()) { if (t.IsClass && t.BaseType.Name == "myBase") { //Nedarver fra myBase } }
Simpelt eksempel til inspiration: Kigger i den assembly, typen er defineret i - alle typer defineret gås igennem, og dem der arver fra A (IsSubClassOf) skrives ud. using System;
namespace ReflectionTest { public class A { } public class B : A { } public class C : A { } public class D { }
class Program { static void Main(string[] args) { Type baseType = typeof(A); foreach( Type t in baseType.Assembly.GetTypes()) { if (t.IsSubclassOf(baseType)) Console.WriteLine(t.FullName); } } } }
Så vidt jeg husker du'r IsSubClassOf ikke, hvis baseType er et interface - men hvis du har behov for dette, kan du bruge GetInterfaces til at få fat i de interfaces, en type implementerer.
Nej det havde jeg ikke da du ikke havde smidt en referrence her ;)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.