首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

重复代码的c#属性

在C#中,重复代码可以通过创建自定义属性来避免。属性是一种特殊的类,它们可以附加到类、方法、属性等上,以提供元数据或其他描述性信息。以下是一个简单的示例,说明如何创建一个自定义属性来避免重复代码:

  1. 首先,创建一个名为RepeatableAttribute的自定义属性:
代码语言:csharp
复制
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class | AttributeTargets.Property)]
public class RepeatableAttribute : Attribute
{
    public int Count { get; set; }

    public RepeatableAttribute(int count)
    {
        Count = count;
    }
}
  1. 然后,在需要重复执行的方法或类上应用此属性:
代码语言:csharp
复制
[Repeatable(5)]
public void MyMethod()
{
    // Your code here
}
  1. 最后,创建一个扩展方法,以便在运行时检查RepeatableAttribute并执行相应的重复次数:
代码语言:csharp
复制
public static class RepeatableExtensions
{
    public static void Repeat(this Action action, int repeatCount)
    {
        for (int i = 0; i< repeatCount; i++)
        {
            action();
        }
    }
}

现在,您可以使用此扩展方法在任何方法上应用重复行为:

代码语言:csharp
复制
public void MyMethod()
{
    // Your code here
}

public void Run()
{
    var methodInfo = typeof(MyClass).GetMethod("MyMethod");
    var repeatableAttribute = methodInfo.GetCustomAttribute<RepeatableAttribute>();

    if (repeatableAttribute != null)
    {
        MyMethod.Repeat(repeatableAttribute.Count);
    }
}

这样,您就可以通过自定义属性避免在C#中重复代码,并根据需要轻松地更改重复次数。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

6分30秒

【剑指Offer】3. 数组中重复的数字

24.3K
5分16秒

【剑指Offer】18.2 删除链表中重复的结点

7.5K
3分4秒

可以重复烧写的语音ic有哪些特征和优势

29分28秒

19_属性的封装

9分27秒

167-读已提交和可重复读的隔离性下的演示

26分29秒

JavaSE进阶-150-生成5个不重复的随机数

7分41秒

186-MVCC在可重复读下解决幻读的流程

7分22秒

Dart基础之类中的属性

4分19秒

23-@TableId的value属性

6分41秒

24-@TableId的type属性

25分5秒

44. 尚硅谷_佟刚_Struts2_表单的重复提交问题

17分5秒

81、商品服务-API-平台属性-查询分组未关联的属性

领券