求一个例子,也可以说是小型的项目,主要是关于定义接口,以及对接口实现的类,谁有相关的例子或工程(不涉密)能发给看一下,研究一下吗?主要想学习,在什么情况下定义接口更方便,以及怎么去实现 这些接口

解决方案 »

  1.   

    接口using System;
    using System.Collections.Generic;
    using System.Text;
    using Galsun.HH.FCX.Mode;
    using System.Reflection;namespace Galsun.HH.FCX.DALFactory
    {    /// <summary>
        /// 
        /// 此文件由模型系统生成,注释根据数据库的扩展字段MS_Description得到  模型转换V2.0 作者:刘朝林
        /// 生成时间:2012-12-28 17:29:03
        /// </summary>
        public interface Iba_county
        {
            ba_countyinfo GetInfoByID(string cond);
            ba_countyinfo GetInfoByID(string cond, ba_countyinfo param);
            IList<ba_countyinfo> GetInfoList(int pageindex, int pagesize, string ordfid, string cond);
            IList<ba_countyinfo> GetInfoList(int pageindex, int pagesize, string ordfid, string cond, ba_countyinfo param);
            int GetRowCount(string cond);
            int GetRowCount(string cond, ba_countyinfo param);
            int Create(ba_countyinfo info);
            int Update(ba_countyinfo info, string cond);
            int Delete(string cond);
            int Delete(string cond, ba_countyinfo param);
        }    public sealed partial class DataAccess
        {
            /// <summary>
            /// 获取ba_county相应接口
            /// </summary>
            /// <returns></returns>
            public static Iba_county CreateIba_county()
            {
                string className = path + ".ba_county";
                return (Iba_county)Assembly.Load(path).CreateInstance(className);
            }
        }
    }实现
    using System;
    using System.Collections.Generic;
    using System.Text;
    using Galsun.DALProfile;
    using Galsun.HH.FCX.DALFactory;
    using Galsun.HH.FCX.Mode;
    using System.Reflection;namespace Galsun.HH.FCX.DALSQLServer
    {    /// <summary>
        /// 
        /// 此文件由模型系统生成,注释根据数据库的扩展字段MS_Description得到  模型转换V2.0 作者:刘朝林
        /// 生成时间:2013-3-8 15:57:30
        /// </summary>
        public class ba_county:Iba_county
        {
            private DBTool dal = new DBTool();
            /// <summary>
            /// 根据条件获取信息
            /// </summary>
            /// <param name="cond">栓索条件</param>
            /// <returns></returns>
            public ba_countyinfo GetInfoByID(string cond)
            {
                string _cond = cond == null ? "" : cond;
                if (_cond.Length>0 && !_cond.ToLower().Contains("where"))
                    _cond = " where " + _cond;            string query = string.Format("Select top 1 * From [ba_county] {0}", _cond);
                Type type = Assembly.Load("Galsun.HH.FCX.Mode").CreateInstance("Galsun.HH.FCX.Mode.ba_countyinfo").GetType();
                return dal.GetModelList<ba_countyinfo>(query, type);
            }
            /// <summary>
            /// 根据条件获取信息
            /// </summary>
            /// <param name="cond">检索条件</param>
            /// <param name="param">SQL形参参数</param>
            /// <returns></returns>
            public ba_countyinfo GetInfoByID(string cond, ba_countyinfo param)
            {
                string _cond = cond == null ? "" : cond;
                if (_cond.Length>0 && !_cond.ToLower().Contains("where"))
                    _cond = " where " + _cond;            string query = string.Format("Select top 1 * From [ba_county] {0}", _cond);
                Type type = Assembly.Load("Galsun.HH.FCX.Mode").CreateInstance("Galsun.HH.FCX.Mode.ba_countyinfo").GetType();
                return dal.GetModelList<ba_countyinfo>(query, dal.SetValueParam(param), type);
            }
            /// <summary>
            /// 获取信息列表
            /// </summary>
            /// <param name="pageindex">分页索引</param>
            /// <param name="pagesize">页面大小</param>
            /// <param name="ordfid">排序字段(必须的)</param>
            /// <param name="cond">检索条件</param>
            /// <returns></returns>
            public IList<ba_countyinfo> GetInfoList(int pageindex, int pagesize, string ordfid, string cond)
            {
                Type type = Assembly.Load("Galsun.HH.FCX.Mode").CreateInstance("Galsun.HH.FCX.Mode.ba_countyinfo").GetType();
                return dal.GetModelList<ba_countyinfo>("[ba_county]", pageindex, pagesize, ordfid, cond, type);
            }
            /// <summary>
            /// 获取信息列表
            /// </summary>
            /// <param name="pageindex">分页索引</param>
            /// <param name="pagesize">页面大小</param>
            /// <param name="ordfid">排序字段(必须的)</param>
            /// <param name="cond">检索条件</param>
            /// <param name="param">SQL形参参数</param>
            /// <returns></returns>
            public IList<ba_countyinfo> GetInfoList(int pageindex, int pagesize, string ordfid, string cond, ba_countyinfo param)
            {
                Type type = Assembly.Load("Galsun.HH.FCX.Mode").CreateInstance("Galsun.HH.FCX.Mode.ba_countyinfo").GetType();
                return dal.GetModelList<ba_countyinfo>("[ba_county]", pageindex, pagesize, ordfid, cond, dal.SetValueParam(param), type);
            }
            /// <summary>
            /// 获取记录数
            /// </summary>
            /// <param name="cond">检索条件</param>
            /// <returns></returns>
            public int GetRowCount(string cond)
            {
                return dal.GetRowCount("[ba_county]", cond);
            }
            /// <summary>
            /// 获取记录数
            /// </summary>
            /// <param name="cond">检索条件</param>
            /// <param name="param">SQL形参参数</param>
            /// <returns></returns>
            public int GetRowCount(string cond, ba_countyinfo param)
            {
                return dal.GetRowCount("[ba_county]", cond, dal.SetValueParam(param));
            }
            /// <summary>
            /// 创建记录
            /// </summary>
            /// <param name="info"></param>
            /// <returns></returns>
            public int Create(ba_countyinfo info)
            {
                string query = "Insert Into [ba_county]([cCountyCode],[cCountyName],[cMarketCode],[cDCCode],[OrderID]) "
                + "values (@cCountyCode,@cCountyName,@cMarketCode,@cDCCode,@OrderID)";            return dal.ExecuteNonQuery(query, dal.SetValueParam(info));
            }
            /// <summary>
            /// 修改记录
            /// </summary>
            /// <param name="info"></param>
            /// <returns></returns>
            public int Update(ba_countyinfo info, string cond)
            {
                string _cond = cond == null ? "" : cond;
                if (_cond.Length>0 && !_cond.ToLower().Contains("where"))
                    _cond = " where " + _cond;
                string query ="Update [ba_county] Set  [cCountyCode]=@cCountyCode, [cCountyName]=@cCountyName, [cMarketCode]=@cMarketCode, [cDCCode]=@cDCCode, [OrderID]=@OrderID"
                    + _cond ;
                return dal.ExecuteNonQuery(query, dal.SetValueParam(info));
            }
            /// <summary>
            /// 删除记录
            /// </summary>
            /// <param name="cond">检索条件</param>
            /// <returns></returns>
            public int Delete(string cond)
            {
                string _cond = cond == null ? "" : cond;
                if (_cond.Length>0 && !_cond.ToLower().Contains("where"))
                    _cond = " where " + _cond;
                string query = string.Format("DELETE From [ba_county] {0}", _cond);
                return dal.ExecuteNonQuery(query, null);
            }
            /// <summary>
            /// 删除记录
            /// </summary>
            /// <param name="cond">检索条件</param>
            /// <param name="param">SQL形参参数</param>
            /// <returns></returns>
            public int Delete(string cond, ba_countyinfo param)
            {
                string _cond = cond == null ? "" : cond;
                if (_cond.Length>0 && !_cond.ToLower().Contains("where"))
                    _cond = " where " + _cond;
                string query = string.Format("DELETE From [ba_county] {0}", _cond);
                return dal.ExecuteNonQuery(query, dal.SetValueParam(param));
            }
        }
    }
      

  2.   

    邮箱[email protected]
    谁能给个例子啊