我对反射不太熟悉,但是,object
如果该类具有与某个属性关联的属性,是否有可能实现一个返回 an 的方法?
我认为它可能不需要以下实现
public interface IEntity
{
object ID { get; }
}
public class Person : IEntity
{
[Key]
public int PersonID { get; }
public string Name { get; set; }
public int Age { get; set; }
object IEntity.ID
{
get { return PersonID; }
}
}
因此,您可以执行以下操作,而不是为每个类实现“IEntity”:
public abstract class EntityBase
{
public object ID { get { return FindPrimaryKey(); } }
protected object FindPrimaryKey()
{
object key = null;
try
{
//Reflection magic
}
catch (Exception) { }
return key;
}
}
这只会节省一些时间,而不必遍历所有代码优先生成的类并实现这个小功能。