posts - 930,  comments - 588,  views - 402万
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

         我们在开发经常要使用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

posted on   PetterLiu  阅读(2033)  评论(0编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
点击右上角即可分享
微信分享提示