草庐IT

ATTRIBUTES

全部标签

c# - Obsolete 属性的使用

我最近听说在我们的代码中使用[Obsolete]属性标记许多方法是不好的做法。这些方法在我们的代码库内部,而不是在API上。这些方法处理较旧的加密功能。我觉得这是一种快速而安全的方式,可以向团队的其他成员表明不应使用这些方法,并提供一条消息来建议替代方案。其他人认为我应该完全删除这些方法,根据需要重写或重构现有代码。此外,人们认为忽略编译器警告太容易了。当代码未被第3方使用时,是否有将代码标记为过时的“最佳实践”?或者这在很大程度上是主观的? 最佳答案 第1步。将成员或类标记为[过时]第2步。更新成员或类的所有内部使用,以使用替换过

c# - 使用 [Obsolete] 属性的弃用行为

在删除一些过时的代码时,我遇到了一个意想不到的场景,重现如下:classProgram{staticvoidMain(string[]args){ViableMethod();Console.WriteLine("");SoftDeprecatedMethod();//Compilerwarning//HardDeprecatedMethod();//Can'tcallthatfromhere,compilererrorConsole.ReadKey(true);}publicstaticvoidViableMethod(){Console.WriteLine("ViableMetho

c# - 使用 [Obsolete] 属性的弃用行为

在删除一些过时的代码时,我遇到了一个意想不到的场景,重现如下:classProgram{staticvoidMain(string[]args){ViableMethod();Console.WriteLine("");SoftDeprecatedMethod();//Compilerwarning//HardDeprecatedMethod();//Can'tcallthatfromhere,compilererrorConsole.ReadKey(true);}publicstaticvoidViableMethod(){Console.WriteLine("ViableMetho

c# - 如何在 C# 中为文件设置清除属性 "X"?

我的USB可移动存储设备(FAT文件系统)上有一个隐藏文件。我使用的是Windows7。如果我转到该文件的“属性”窗口,然后转到“详细信息”选项卡,我将看到该文件的属性是HX。当我运行cmd并使用attrib时,我被告知文件具有属性H。关于X没有任何信息。我​​已经尝试过helpattrib,但是仍然没有关于属性X的信息。我知道:H=隐藏S=系统A=文件R=只读但是,我不知道X代表什么。我还发现了NandEattributes是什么是为了。Wikipedia没有提到X属性是什么。Google发现两个主题提到属性X:undeletablefileindelphifileattribute

c# - 如何在 C# 中为文件设置清除属性 "X"?

我的USB可移动存储设备(FAT文件系统)上有一个隐藏文件。我使用的是Windows7。如果我转到该文件的“属性”窗口,然后转到“详细信息”选项卡,我将看到该文件的属性是HX。当我运行cmd并使用attrib时,我被告知文件具有属性H。关于X没有任何信息。我​​已经尝试过helpattrib,但是仍然没有关于属性X的信息。我知道:H=隐藏S=系统A=文件R=只读但是,我不知道X代表什么。我还发现了NandEattributes是什么是为了。Wikipedia没有提到X属性是什么。Google发现两个主题提到属性X:undeletablefileindelphifileattribute

c# - 通过反射获取 MemberInfo 的类型

我正在使用反射加载具有项目类结构的TreeView。类中的每个成员都分配有自定义属性。我在使用MemberInfo.GetCustomAttributes()获取类的属性时没有问题,但是我需要一种方法来确定类成员是否是自定义类然后需要解析自身返回自定义属性。到目前为止,我的代码是:MemberInfo[]membersInfo=typeof(Project).GetProperties();foreach(MemberInfomemberInfoinmembersInfo){foreach(objectattributeinmemberInfo.GetCustomAttributes(

c# - 通过反射获取 MemberInfo 的类型

我正在使用反射加载具有项目类结构的TreeView。类中的每个成员都分配有自定义属性。我在使用MemberInfo.GetCustomAttributes()获取类的属性时没有问题,但是我需要一种方法来确定类成员是否是自定义类然后需要解析自身返回自定义属性。到目前为止,我的代码是:MemberInfo[]membersInfo=typeof(Project).GetProperties();foreach(MemberInfomemberInfoinmembersInfo){foreach(objectattributeinmemberInfo.GetCustomAttributes(

c# - 为什么 Nullable<T> 不是有效的自定义属性参数,而 T 是?

如果我有这样的枚举publicenumHungry{Somewhat,Very,CouldEatMySocks}和这样的自定义属性publicclassHungerAttribute:Attribute{publicHungryHungerLevel{get;set;}publicHungry?NullableHungerLevel{get;set;}}我能做到[Hunger(HungerLevel=Hungry.CouldEatMySocks)]publicclassThing1可是我做不到[Hunger(NullableHungerLevel=Hungry.CouldEatMySo

c# - 为什么 Nullable<T> 不是有效的自定义属性参数,而 T 是?

如果我有这样的枚举publicenumHungry{Somewhat,Very,CouldEatMySocks}和这样的自定义属性publicclassHungerAttribute:Attribute{publicHungryHungerLevel{get;set;}publicHungry?NullableHungerLevel{get;set;}}我能做到[Hunger(HungerLevel=Hungry.CouldEatMySocks)]publicclassThing1可是我做不到[Hunger(NullableHungerLevel=Hungry.CouldEatMySo

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

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