求助,C#.net 怎么实现接口!!!

小虾米zheng 2013-04-18 10:42:04
就是怎么写一个 接口,,然后怎么调用?
求 这 两部分的代码示例.....不要整个很长的,功能很复杂的,简单点的 比如 我调用这个 接口 ,然后给我返回 一句话 就好了!!!谢谢了
...全文
2886 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
md5e 2013-04-18
  • 打赏
  • 举报
回复
你是指这个?

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));
        }
    }
}

这里需要注意, ba_county必需要完成Iba_county中所定义的所有方法 最后是业务逻辑层的调用接口进行编程 namespace Galsun.HH.FCX.Content { /// <summary> /// 县区管理 /// </summary> public class County { Iba_county icounty = DataAccess.CreateIba_county(); /// <summary> /// 创建县区档案 /// </summary> /// <param name="info"></param> /// <returns></returns> public bool Create(ba_countyinfo info) { if (icounty.Create(info) > 0) { clearCache(); return true; } return false; } ...... 这样做能就达到Content和DALSQLServer同步进行,分工合作
莫名3 2013-04-18
  • 打赏
  • 举报
回复
如果代码是利用MVC 格式 层次分明的话 可以在写个Service层 在逻辑层 利用Service层来调用 接口
  • 打赏
  • 举报
回复

   public class Student:IAblity
    {
        public string name { get; set; }

        public void Eat()
        {
            Console.WriteLine("实现接口Eat能力");
        }
    }
    public class Teacher
    {
        public string name { get; set; }
    }

    public interface IAblity
    {
        public void Eat();
    };
yaotomo 2013-04-18
  • 打赏
  • 举报
回复
public interface ITest { //接口代码 string SayHello(string name); } public class Test:Itest { //实现接口中的所有方法 public string SayHello(string name) { return "Hello "+name; } }
insus 2013-04-18
  • 打赏
  • 举报
回复
参考大约40个asp.net应用接口的例子: http://www.cnblogs.com/insus/category/308317.html
TurrF 2013-04-18
  • 打赏
  • 举报
回复
interface IProgram { void Fun(); } class Program:IProgram { //显式实现接口成员 void IProgram.Fun() { Console.WriteLine("I am Fun."); } staticvoid Main(string[] args) { IProgram p =new Program(); //声明一个接口实例,但不是对接口进行实例化 p.Fun(); Console.Read(); } } 我学接口用到看了这两个网。 http://www.cnblogs.com/jiajiayuan/archive/2011/09/16/2178462.html http://www.cnblogs.com/ben-zhang/archive/2012/12/18/2823455.html

62,257

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧