C# 仅限制公共和受保护变量c的属性用法#
是否可以将属性的使用限制为仅受保护的和公共的变量。我只想限制到私有变量。不,你不能这样做。您可以仅根据目标的类型限制属性的使用,而不是其他任何内容C# 仅限制公共和受保护变量c的属性用法#,c#,attributes,C#,Attributes,是否可以将属性的使用限制为仅受保护的和公共的变量。我只想限制到私有变量。不,你不能这样做。您可以仅根据目标的类型限制属性的使用,而不是其他任何内容 [AttributeUsage(AttributeTargets.Method)] public class MethodOnlyAttribute : Attribute { } 据我所知,你不能。枚举列出了您可以将属性用法约束到的应用程序元素。您可以使用,下面是一个只能应用于公共或受保护字段的字段示例: [Serializable] [Att
[AttributeUsage(AttributeTargets.Method)]
public class MethodOnlyAttribute : Attribute {
}
据我所知,你不能。枚举列出了您可以将属性用法约束到的应用程序元素。您可以使用,下面是一个只能应用于公共或受保护字段的字段示例:
[Serializable]
[AttributeUsage(AttributeTargets.Field)]
public class MyAttribute : OnFieldAccessAspect
{
public override bool CompileTimeValidate(System.Reflection.FieldInfo field)
{
if (field.IsPublic || field.IsFamily)
{
throw new Exception("Attribute can only be applied to Public or Protected fields");
}
return true;
}
}
正如Mehrdad解释的,你不能那样做。您能告诉我们为什么要以这种方式限制属性吗?你能告诉我们你的用例吗?