就是怎么写一个 接口,,然后怎么调用?
求 这 两部分的代码示例.....不要整个很长的,功能很复杂的,简单点的 比如 我调用这个 接口 ,然后给我返回 一句话 就好了!!!谢谢了
求 这 两部分的代码示例.....不要整个很长的,功能很复杂的,简单点的 比如 我调用这个 接口 ,然后给我返回 一句话 就好了!!!谢谢了
解决方案 »
- gridview样式影响到内部的控件样式!
- dataset 如何不显示重复数据给menu
- 怎样读取这样的URL的查询字符串。
- 想請問各位遠端部署網站copy web site解法
- 在ASP.NET中,用Datagrid如何实现既是多层表头,又能够排序的功能.急!!!
- 请问各位关于一个网站的建设的问题??
- 大家帮我看看我的连接字符串是不是有问题?(oracle的)
- 使用ADO.net和SQL2000数据库,id字段为自动增加,如何在新插入一条记录后,能立即得带该记录的id号?
- 大侠们帮帮我吧,DataGrid分页问题,在线等候。谢谢
- 在.net中当runat=server时,如何提交到另一页面用acitio="****"不行
- 在线等. 用JS如何将图片上传到项目的文件夹中,并替换文件夹中的图片
- 哪位高手指点下,网站不知道出现什么问题了
{
//接口代码
string SayHello(string name);
}public class Test:Itest
{
//实现接口中的所有方法
public string SayHello(string name)
{
return "Hello "+name;
}
}
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();
};
在逻辑层 利用Service层来调用 接口
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同步进行,分工合作
{
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
http://www.cnblogs.com/insus/category/308317.html