问题标签 [attributes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - ASP.NET UserControl 和 DefaultEvent
大纲
好的,我已经用谷歌搜索了这个,并且已经期待一个大胖子了!但我想我应该问一下,因为我知道有时人们的脑海中可能会潜伏着奇怪的小知识宝石^_^
我正在研究一本书中的一些练习,这个特定的练习是用户控制。我拼凑了一个控件,并希望为其设置 DefaultEvent(已为以前的控件完成此操作),因此当我双击它时,创建的默认事件就是我指定的任何事件。
注意:这是标准的用户控件 (.ascx),而不是自定义呈现的控件。
当前代码
这是类和事件定义:
当前结果
现在,当我在 ASPX 页面上双击该控件时,将创建以下内容:
不完全是我所期待的!所以,我的问题:
是否可以为 UserControl 定义 DefaultEvent?是黑客吗?如果 [不] 支持,有什么原因吗?
旁注:我们如何在代码中添加下划线?我似乎无法将 char 放入和转义?
.net - 如何最好地使用文件版本和汇编版本?
在 .NET 中,构建项目时有两个可用的版本号,文件版本和程序集版本。你是如何使用这些数字的?让它们保持不变?自动增加一个,但手动更改另一个?
还有AssemblyInformationalVersion
属性呢?
我发现这篇支持 Microsoft 知识库 (KB) 文章提供了一些帮助: 如何使用程序集版本和程序集文件版本。
c# - 任何人都知道快速获取枚举值的自定义属性的方法吗?
这可能最好用一个例子来说明。我有一个带有属性的枚举:
我想从一个实例中获取这些属性:
由于这是使用反射,我预计会有些慢,但是当我已经有枚举值的实例时,将枚举值转换为字符串(反映名称)似乎很麻烦。
有没有人有更好的方法?
.net - 通知开发人员“请勿使用”方法
好吧,我知道你在想什么,“为什么要写一个你不想让人们使用的方法?” 对?
好吧,简而言之,我有一个需要序列化为 XML 的类。为了XmlSerializer
发挥它的魔力,类必须有一个默认的空构造函数:
所以,我需要它,但我不希望人们使用它,那么是否有任何属性可用于将方法标记为“请勿使用”?
我正在考虑使用Obsolete属性(因为这可以停止构建),但这似乎有点“错误”,还有其他方法可以做到这一点,还是我需要继续咬紧牙关?:)
更新
好的,我接受了基思的回答,因为我心里想,我完全同意。这就是为什么我首先提出这个问题,我不喜欢拥有Obsolete属性的概念。
然而...
还有一个问题,当我们收到智能感知通知时,理想情况下,我们想破坏构建,那么有什么办法可以做到这一点?也许创建一个自定义属性?
这里创建了更集中的问题。
.net - 创建一个属性来中断构建
好的,这是我上一个问题的后续。
我真正想做的是创建某种属性,它允许我装饰一个会破坏 build的方法。很像Obsolete("reason", true)属性,但不会错误地识别过时的代码。
澄清一下:我不希望它在任何F6(构建)按下时破坏构建,我只希望它在代码中的其他位置调用带有属性的方法时破坏构建。就像我说的,类似于过时,但不一样。
我知道我并不孤单,因为其他用户出于其他原因想要使用它。我以前从未创建过自定义属性,所以这对我来说是全新的!
c# - 使用属性来减少枚举到枚举的映射和枚举/常量到动作的切换语句
我想每个人都看过这样的代码:
我们可以做类似的事情,而不是这种坏事:
现在我们可以使用反射来遍历 ServerEnum 并从枚举声明本身获取转换映射。
我在这里遇到的问题是在 Enum2Enum 属性的声明中。
这有效,但用 Enum e 替换对象 o 无效。我不想能够将对象传递给构造函数,只有其他枚举。
这无法编译。
编译错误是否有原因?除了以下内容之外,我还能如何传递映射所需的信息:
这似乎太冗长,但如果这是唯一的方法,那么我想我会使用它。
c# - 如何比较 C# 中的标志?
我在下面有一个标志枚举。
我不能让 if 语句评估为真。
我怎样才能做到这一点?
c# - 在运行时更改属性的参数
我不确定是否可以在运行时更改属性的参数?例如,在程序集中,我有以下类
这是由第三方供应商提供的类,我无法更改代码。但是现在我发现上面的描述并不准确,当我将上面类的实例绑定到属性网格时,我想将“更改我”类别名称更改为其他名称。
我可以知道该怎么做吗?
python - 来自对象字段的 Python 字典
你知道是否有一个内置函数可以从任意对象构建字典吗?我想做这样的事情:
注意:它不应该包括方法。只有字段。
.net - 使用程序集属性的最佳实践是什么?
我有一个包含多个项目的解决方案。我正在尝试通过链接一个解决方案范围的程序集信息文件来优化 AssemblyInfo.cs 文件。这样做的最佳做法是什么?哪些属性应该在解决方案范围的文件中,哪些是项目/程序集特定的?
编辑:如果您有兴趣,有一个后续问题AssemblyVersion、AssemblyFileVersion 和 AssemblyInformationalVersion 之间有什么区别?