[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)] public class EntityAttribute : Attribute { public EntityAttribute(string name) { Name = name; } public string Name { get; set; } public Type GetTargetClassType() { //我如何在这里获取被标记类的类型? } }
特性Attribute自身内部无法得知它被标记的目标,见http://stackoverflow.com/questions/3656382/is-it-possible-to-initialize-a-property-of-an-attribute-class-by-where-its-mark
你可以把attribute的标记目标信息作为参数传给这个attribute,总之,无法“自动”得知这个attribute被标记的目标信息。