zoukankan      html  css  js  c++  java
  • [Visual C#] 工厂类的实现

     1     /// <summary>
     2     /// 表示一组静态方法,这些方法用于创建SMSProviderFactory类的一个或多个实例
     3     /// </summary>
     4     public class SMSProviderFactories
     5     {
     6         /// <summary>
     7         /// 返回SMSProviderFactory的一个实例
     8         /// </summary>
     9         /// <param name="providerInvariantName">提供程序的固定名称</param>
    10         /// <returns></returns>
    11         public static SMSProviderFactory GetFactory(string providerInvariantName)
    12         {
    13             if (string.IsNullOrEmpty(providerInvariantName))
    14             {
    15                 throw new ArgumentNullException("providerInvariantName");
    16             }
    17             try
    18             {
    19                 Type type = Type.GetType(providerInvariantName);
    20 
    21                 if (type == null)
    22                 {
    23                     throw new Exception("指定的提供程序并未安装!");
    24                 }
    25 
    26                 FieldInfo field = type.GetField("Instance", BindingFlags.Public | BindingFlags.Static | BindingFlags.DeclaredOnly);
    27 
    28                 if ((field != null) && field.FieldType.IsSubclassOf(typeof(SMSProviderFactory)))
    29                 {
    30                     object obj = field.GetValue(null);
    31 
    32                     if (obj != null)
    33                     {
    34                         return (SMSProviderFactory)obj;
    35                     }
    36                 }
    37             }
    38             catch (Exception err)
    39             {
    40                 throw err;
    41             }
    42 
    43             throw new Exception("提供程序丢失");
    44         }
    45     }
  • 相关阅读:
    爬虫之爬取网贷之家在档P2P平台基本数据并存入数据库
    Python抓取第一网贷中国网贷理财每日收益率指数
    div左右布局
    IIS7.0+SqlServer2012,进行.net网站发布的安装全过程
    SpringMVC+Mybatis+Mysql实战项目学习环境搭建
    文本框字符长度动态统计
    html里面自定义弹出窗口
    windows下取linux系统里面的文件
    网页中的电话号码实现一键直呼
    测试
  • 原文地址:https://www.cnblogs.com/briny/p/2637334.html
Copyright © 2011-2022 走看看