0

基本エンティティクラスがあると仮定します:

public abstract partial class Person
    {
        public Person()
        {
        }

        public string FirstName { get; set; }
        public string LastName { get; set; }


    }

そして、私はそのエンティティから継承する複数のエンティティを持っています。

public partial class Customer : Person
{
    public Customer()
    {
    }

    public int CustomerStatusId { get; set; }
    public string AccountNumber { get; set; }

}

Personクラスから継承するいくつかのエンティティ。

クラスから継承するすべてのエンティティ クラス名を取得する方法はありPersonますか? selectそれらをボックスに表示して、ジェネリックAddUserメソッドを作成したいと思います。

4

3 に答える 3

2
var names = assembly.GetTypes().Where(t => baseType.IsAssignableFrom(t)).Select(t => t.Name);

上記のようなことを試して、名前だけを取得してください。

次の回答を参照してください特定の型 C# から継承するアセンブリ内のすべての型を見つける方法

于 2013-11-12T07:39:25.267 に答える
1

リフレクションを使用する必要があります。

using System.IO;
using System;
using System.Reflection;
using System.Linq;

class Program
{
    static void Main()
    {
        Assembly a = typeof(Program).Assembly;

        var types = a.GetTypes().Where(i=>i.IsSubclassOf(typeof(T)));

        foreach(var i in types)
        {
            Console.WriteLine(i);
        }
    }
}

public class T {  }
public class TT : T {  }
public class TTT : T {  }
于 2013-11-12T07:45:21.320 に答える