c#mvc使用反射获得泛型类型

Gre*_*egH 0 c# reflection inheritance

目前正试图找到一种方法来获取一般类型的类的类型,并且无法找到这样做的方法.我目前的工作方法如下:

public class CategoryConfiguration : EntityTypeConfiguration<Category>
    {
        public CategoryConfiguration()
        {
            ToTable("Categories");
            Property(c => c.Name).IsRequired().HasMaxLength(50);
        }
    }
Run Code Online (Sandbox Code Playgroud)

我想将此方法更改为:

public class CategoryConfiguration : EntityTypeConfiguration<T>
    {
        public CategoryConfiguration()
        {
            ToTable(/*get string representation of 'T' here and pluralize*/);
            Property(c => c.Name).IsRequired().HasMaxLength(50);
        }
    }
Run Code Online (Sandbox Code Playgroud)

The*_*One 6

我想你可以这样做:

ToTable(typeOf(T).Name);
Run Code Online (Sandbox Code Playgroud)

关于多元化请阅读这个

  • 在C#6.0中你可以使用nameof(T) (2认同)