草庐IT

ATTRIBUTES

全部标签

c# - 枚举的自定义属性是否危险?

我正在构建一个大量使用Enum的应用程序s用于自定义数据。本质上,一个对象存储在数据库中,具有大约28个独立的属性。每个属性都是一个双字符字段,从SQL直接转换为Enum。.不幸的是,我还需要将这些值转换为两个不同的人类可读值。一个用于数据表上的图例,一个用于CSS类,用于在Web应用程序前端设置图像样式。为此,我设置了两个自定义属性并将它们应用于Enum在必要时。例如:自定义属性接口(interface)publicinterfaceIAttribute{TValue{get;}}示例自定义属性publicsealedclassAbbreviationAttribute:Attrib

c# - 方法属性在 C# 中是继承的吗?

应用于基类中抽象方法的属性是否应用于子类中的覆盖版本?我希望这个问题在没有例子的情况下足够清楚。 最佳答案 这取决于属性本身的声明方式-参见AttributeUsageAttribute.Inherited属性(property)。 关于c#-方法属性在C#中是继承的吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1123563/

c# - 方法属性在 C# 中是继承的吗?

应用于基类中抽象方法的属性是否应用于子类中的覆盖版本?我希望这个问题在没有例子的情况下足够清楚。 最佳答案 这取决于属性本身的声明方式-参见AttributeUsageAttribute.Inherited属性(property)。 关于c#-方法属性在C#中是继承的吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1123563/

来自资源文件的 C# 属性文本?

我有一个属性,我想从资源文件中将文本加载到该属性。[IntegerValidation(1,70,ErrorMessage=Data.Messages.Speed)]privateinti_Speed;但我不断得到"属性参数必须是属性参数类型的常量表达式、typeof表达式或数组创建表达式"如果我添加一个字符串而不是Data.Messages.Text,它会完美地工作,例如:[IntegerValidation(1,70,ErrorMessage="Invalidmaxspeed")]有什么想法吗? 最佳答案 这是我的解决方案。我已

来自资源文件的 C# 属性文本?

我有一个属性,我想从资源文件中将文本加载到该属性。[IntegerValidation(1,70,ErrorMessage=Data.Messages.Speed)]privateinti_Speed;但我不断得到"属性参数必须是属性参数类型的常量表达式、typeof表达式或数组创建表达式"如果我添加一个字符串而不是Data.Messages.Text,它会完美地工作,例如:[IntegerValidation(1,70,ErrorMessage="Invalidmaxspeed")]有什么想法吗? 最佳答案 这是我的解决方案。我已

c# - 在 C# 中组合多个属性

以下语法之间是否存在功能差异...[Foo,Bar]publicclassBaz{}...还有这个语法?[Foo][Bar]publicclassBaz{}假设每个编译时产生相同的结果,哪种形式是首选? 最佳答案 没有功能差异。这是一个方便和风格的问题。大多数情况下,我倾向于在自己的行中看到属性,以将它们分开并易于阅读。能够使用行注释//单独删除属性也很好。[A][B]//[C]disabledpublicclassFoo{} 关于c#-在C#中组合多个属性,我们在StackOverfl

c# - 在 C# 中组合多个属性

以下语法之间是否存在功能差异...[Foo,Bar]publicclassBaz{}...还有这个语法?[Foo][Bar]publicclassBaz{}假设每个编译时产生相同的结果,哪种形式是首选? 最佳答案 没有功能差异。这是一个方便和风格的问题。大多数情况下,我倾向于在自己的行中看到属性,以将它们分开并易于阅读。能够使用行注释//单独删除属性也很好。[A][B]//[C]disabledpublicclassFoo{} 关于c#-在C#中组合多个属性,我们在StackOverfl

c# - 属性构造函数中的 Lambda 表达式

我创建了一个名为RelatedPropertyAttribute的Attribute类:[AttributeUsage(AttributeTargets.Property)]publicclassRelatedPropertyAttribute:Attribute{publicstringRelatedProperty{get;privateset;}publicRelatedPropertyAttribute(stringrelatedProperty){RelatedProperty=relatedProperty;}}我用它来表示类中的相关属性。我将如何使用它的示例:public

c# - 属性构造函数中的 Lambda 表达式

我创建了一个名为RelatedPropertyAttribute的Attribute类:[AttributeUsage(AttributeTargets.Property)]publicclassRelatedPropertyAttribute:Attribute{publicstringRelatedProperty{get;privateset;}publicRelatedPropertyAttribute(stringrelatedProperty){RelatedProperty=relatedProperty;}}我用它来表示类中的相关属性。我将如何使用它的示例:public

c# - .NET 默认值属性

我听说人们对DefaultValue属性有一些不同的说法,包括:>“它在其他任何东西使用它之前设置属性的值。”>“它不适用于自动属性。”>“只是为了装饰。您必须手动设置实际的默认值。”哪个(如果有的话)是对的?DefaultValue是否真的设置了默认值?有没有不起作用的情况?最好不要使用它吗? 最佳答案 我通常使用DefaultValue的地方是用于序列化/反序列化为XML的类。它不会在实例化期间设置默认值,也不会影响自动属性。来自MSDN:ADefaultValueAttributewillnotcauseamembertobe