C#之扩展方法

Posted enych

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#之扩展方法相关的知识,希望对你有一定的参考价值。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using BFWebManage.Helper;
namespace test_20190902

    class Program
    
        static void Main(string[] args)
        

        

        void fun1(ActionExecutingContext filterContext)
        
            filterContext.HttpContext.Session.Get<int>("UserInfo");
        

    

    public class ActionExecutingContext
    
        public HttpContext HttpContext  get; set; 
    
    //抽象类  //abstract
    public class HttpContext
    
        public ISession Session  get; set; 

    



namespace BFWebManage.Helper

    //属性  扩展类 (属性名+Extensions的静态类)
    public static class SessionExtensions
    
        public static T Get<T>(this ISession session, string key)
        
            var value = session.GetString(key);  //Microsoft.AspNetCore.Http.Extensions.dll

            return value == null ? default(T) : default(T); //如果T是int,那么默认值default(int)为0

            //return value == null ? default(T) :
            //                      JsonConvert.DeserializeObject<T>(value);  //把字符串转换为对象
        
    


namespace Microsoft.AspNetCore.Http

    //接口 interface
    public interface ISession
    

    
    public static class SessionExtensions
    
        public static string GetString(this ISession session, string key)
        
            return "";
        
    

 

以上是关于C#之扩展方法的主要内容,如果未能解决你的问题,请参考以下文章

C#之扩展方法

C#可扩展编程之MEF:导出类的方法和属性

C#之this的使用

C# 扩展方法

C#的扩展方法解析

C#可扩展编程之MEF:见证奇迹的时刻