如何使 .NET 属性仅对某些类型有效

How to make .NET attribute only valid on certain types(如何使 .NET 属性仅对某些类型有效)
本文介绍了如何使 .NET 属性仅对某些类型有效的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能重复:
指定 .NET 属性目标所需的基类

我想指定我的自定义属性仅对某些类型有效(基于接口或基类).
像这样:

I want to specify that my custom attribute only be valid on certain types (based on interface or base class).
Like this:

我该怎么做?

推荐答案

听起来你想创建一个 Attribute,它只能应用于某些类型,就像 AttributeUsage 只能应用于派生自 Attribute 的类型.引入这种类型的自定义限制是不可能的.您看到的特定错误不是因为自定义限制,而是简单地硬连接到编译器本身.

It sounds like you want to create an Attribute which can only be applied to certain types in much the way that AttributeUsage can only be applied to types deriving from Attribute. Introducing this type of custom restriction is simply not possible. The particular error you're seeing is not because of a custom restriction, it's one that's simply hard wired into the compiler itself.

这篇关于如何使 .NET 属性仅对某些类型有效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)