Override property setter and getter(覆盖属性设置器和获取器)
问题描述
有没有办法用属性覆盖自动属性的 setter 和 getter?
Is there a way to override the setter and getter of an auto property with an attribute?
像这样:
[CustomAttribute]
public int Value { get; set; }
...
public class CustomAttibute : Attribute
{
public override NotExistingPropertySetter(object value)
{
if (((int)value) < 10 )
{
value = 10;
}
}
}
推荐答案
没有.属性永远不会执行".您需要构建一个构造来查找属性并在找到它时执行某些操作.
No. An attribute is never "executed". You would need to build a construct looking for the attribute and doing something if it's found.
.NET 中的 AoP(面向方面编程)只能通过使用 PostSharp 等第三方软件来实现.
AoP (aspect oriented programming) in .NET is only possible by using third party software like PostSharp.
这篇关于覆盖属性设置器和获取器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:覆盖属性设置器和获取器


基础教程推荐
- rabbitmq 的 REST API 2022-01-01
- 将 XML 转换为通用列表 2022-01-01
- c# Math.Sqrt 实现 2022-01-01
- 为什么Flurl.Http DownloadFileAsync/Http客户端GetAsync需要 2022-09-30
- MS Visual Studio .NET 的替代品 2022-01-01
- SSE 浮点算术是否可重现? 2022-01-01
- 将 Office 安装到 Windows 容器 (servercore:ltsc2019) 失败,错误代码为 17002 2022-01-01
- 如何在 IDE 中获取 Xamarin Studio C# 输出? 2022-01-01
- 如何激活MC67中的红灯 2022-01-01
- 有没有办法忽略 2GB 文件上传的 maxRequestLength 限制? 2022-01-01