zoukankan      html  css  js  c++  java
  • 扩展接口

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

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

  • 相关阅读:
    5、视图
    4、数据更新
    3、聚合与排序
    2、查询基础
    1、数据库和SQL
    Day-13:组合查询
    Day-12:创建高级联结
    Day-11:联结表
    Day-10:使用子查询
    Day-9:分组数据
  • 原文地址:https://www.cnblogs.com/BoYu045535/p/3683115.html
Copyright © 2011-2022 走看看