【讨论】一个接口的世界

一个接口的世界, 包含了ORM的基础以及MVC的基础。

    public interface IEntityProxy
    {
        /// <summary>
        
/// 获取实例对象的属性值
        
/// </summary>
        
/// <param name="entity">对象实例</param>
        
/// <param name="propertyName">属性名</param>
        
/// <returns>属性值</returns>
        object GetPropertyValue(object entity, string propertyName);

        /// <summary>
        
/// 设置实例对象的属性值
        
/// </summary>
        
/// <param name="entity">对象实例</param>
        
/// <param name="propertyName">属性名</param>
        
/// <param name="propertyValue">属性值</param>
        void SetPropertyValue(object entity, string propertyName, object propertyValue);

        /// <summary>
        
/// 动态调用方法。
        
/// </summary>
        
/// <param name="entity">对象实例</param>
        
/// <param name="methodName">方法名</param>
        
/// <param name="dataAdapter">参数名,参数值数据集</param>
        
/// <returns>返回值</returns>
        object Invoke(object entity, string methodName, BeeDataAdapter dataAdapter);

欢迎大家讨论及实现该接口。 

SetPropertyValue 这两个方法为实现ORM的基础。

Invoke 则为实现MVC的基础。

实现的方式有:1:Reflection; 2: Emit; 3:Expression Tree.  

posted @ 2012-03-29 14:08    阅读(1869)  评论(6编辑  收藏  举报