首页 > 其他 > 详细

扩展接口

时间:2014-04-24 16:25:30      阅读:501      评论:0      收藏:0      [点我收藏+]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WebApp2010
{
public class UserProfilerService : IUserProfiler
{
public string GetUserProfiler(string UserId)
{
if (UserId == "fasdfasdfasdfas")
return "到北京";
else return string.Empty;
}
}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WebApp2010
{
public static class Extensions
{
public static string MyProfiler(this IUserProfiler iup)
{
string username = iup.GetUserProfiler("fasdfasdfasdfas");
return "Welcome, " + username + "!";
}
}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WebApp2010
{
public interface IUserProfiler
{
string GetUserProfiler(string UserId);
}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
using WebApp2010;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
IUserProfiler iup = new UserProfilerService();
string name = iup.MyProfiler();
Console.Write(name);
string name1 = iup.GetUserProfiler("fasdfasdfasdfas");
Console.Write(name1);
string str1 = Console.ReadLine();

 假设有一种场景是我我无法修改接口和他的实现类,因为在某种情况下,如果接口的实现类很多的话,那么你就要一一修改实现类里面的代码。这个时候我们只需要扩展接口就可以很轻松的解决这件事情。

 

 

 

 

扩展接口,布布扣,bubuko.com

扩展接口

原文:http://www.cnblogs.com/BoYu045535/p/3683115.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!