C# 创建指示属性调用后运行代码的属性

标签 c# .net proxy properties attributes

我想创建一个属性来放置属性。

将包含此属性的属性将在设置新值后执行另一个方法。

例如:

    [MethodExecute(Log)]
    [MethodExecute(Save)]
    public string Name
    {
        get
        {
            return name;
        }
        set
        {
            name = value;
        }
    }

这里我想激活两种方法,一种记录更改,另一种保存它。

谢谢, 罗尼

最佳答案

我相信你可以在 PostSharp 中做到这一点.不幸的是,您需要将方法名称指定为字符串 - C# 中没有将方法名称解析为 MethodInfo 的运算符,尽管它已被多次提出。

如果您需要代码在 setter(而不是 getter)之后执行,您可能需要移动属性:

public string Name
{ 
    get; 
    [MethodExecute("Log")] [MethodExecute("Save")] set;
}

(为简单起见,这使用自动实现的属性。)

关于C# 创建指示属性调用后运行代码的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1431363/

相关文章:

php - 在 HTTPS 期间访问 Guzzle 代理 header

c - 编写C代理时出现的问题

c# - 为什么我可以在迭代 LINQ 列表时对其进行编辑?

c# - 从枚举中获取值

c# - 透明形式上的半透明图像

.net - 在 .NET 中使线程向另一个线程发出信号的最佳方法是什么?

C# Winforms : Debug strategies to find cause for System. AccessViolationException 异常

c# - Admob 横幅广告在 Unity3D 中无法正常工作

c# - 从 ColumnChooser 隐藏列

python - python 请求库中的 https 代理支持