• 用扩展方法来为Enum类型加入业务逻辑


             我们在开发经常要使用Enum类型,今天我们用扩展方法来为Enum类型加入业务逻辑. 有以下的代码:

       1:      /// <summary>
       2:      /// StorageProviders
       3:      /// </summary>
       4:      [Serializable]
       5:      public enum StorageProviders
       6:      {
       7:          /// <summary>
       8:          /// LuceneIo
       9:          /// </summary>
      10:          LuceneIo = 0,
      11:          /// <summary>
      12:          /// LuceneVirtual
      13:          /// </summary>
      14:          LuceneVirtual = 1
      15:      }

              然后写一个扩展方法:

       1:    /// <summary>
       2:      /// StorageProvidersExtensions
       3:      /// </summary>
       4:      public static class StorageProvidersExtensions
       5:      {
       6:          /// <summary>
       7:          /// Determines whether the specified provider is virtual.
       8:          /// </summary>
       9:          /// <param name="provider">The provider.</param>
      10:          /// <returns>
      11:          ///     <c>true</c> if the specified provider is virtual; otherwise, <c>false</c>.
      12:          /// </returns>
      13:          public static bool IsVirtual(this StorageProviders provider)
      14:          {
      15:              return provider == StorageProviders.LuceneVirtual;
      16:          }
      17:      }

             好了,让我们来看如何使用:

       1:          [Test]
       2:          public void TestEnumExtesnsionMethod()
       3:          {
       4:              StorageProviders storageProviders = StorageProviders.LuceneVirtual;
       5:              Assert.IsTrue(storageProviders.IsVirtual());
       6:          }

             代码很简单,希望对您有开发有帮助。


    作者:Petter Liu
    出处:http://www.cnblogs.com/wintersun/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    该文章也同时发布在我的独立博客中-Petter Liu Blog

  • 相关阅读:
    SpringBoot项目启动遇到的问题记录
    关于点击按钮提交前进行数据校验
    idea插件的位置
    sqlite
    xamarin.forms 使用依赖注入
    vs2019查找替换,使用正则表达式功能
    EFCore 事务提交
    windows磁盘【文件和文件夹遇到-打不开or不能删除or损坏】的解决方式
    xamarin.forms 中使用Forms9Patch插件来显示图片遇到的问题
    net5 依赖注入的时候,遇到的问题:Cannot consume scoped service from singleton IHostedService
  • 原文地址:https://www.cnblogs.com/wintersun/p/1858662.html
Copyright © 2020-2023  润新知