zoukankan      html  css  js  c++  java
  • C#之扩展方法 default(T)

    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 "";
            }
        }
    }
    //扩展 string方法  

    public static class A { public static void tets(this string str) { } }
  • 相关阅读:
    RBAC-基于角色的访问控制
    django缓存机制
    drf JWT认证
    drf自动生成接口文档
    drf多表断表操作
    drf过滤排序分页异常处理
    drf认证权限频率
    drf路由组件
    drf视图组件
    drf请求与响应
  • 原文地址:https://www.cnblogs.com/enych/p/11447276.html
Copyright © 2011-2022 走看看