码迷,mamicode.com
首页 > Windows程序 > 详细

C#之扩展方法

时间:2019-09-02 17:20:14      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:convert   ace   ssi   get   对象   tst   转换   sof   net   

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#之扩展方法

标签:convert   ace   ssi   get   对象   tst   转换   sof   net   

原文地址:https://www.cnblogs.com/enych/p/11447276.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!