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

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

  • 相关阅读:
    Zigbee安全基础篇Part.3
    Zigbee安全基础篇Part.2
    Zigbee安全基础篇Part.1
    mini2440 Nor Flash工作原理分析
    fuck the browser mode
    valgrind使用
    windows下自己常用的几个bat
    二叉树可视化
    npm的使用
    tp5的phpword使用
  • 原文地址:https://www.cnblogs.com/BoYu045535/p/3683115.html
Copyright © 2011-2022 走看看