问题标签 [custom-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# - 将属性限制为类或属性是否可行?
我有两个这样定义的自定义属性:
我想将 SchemaAttribute 限制为类,将 AttributeAttribute 限制为属性。
这是可行的吗?
magento - Magento loadByAttribute 用于自定义类别属性
我在模块的安装脚本中为一个类别创建了自定义属性,如下所示:
该字段在管理员中显示良好,当我在脚本中创建类别时,如下所示:
我可以在 Magneto 管理界面中看到值“abcd”。但是当我调用下面的代码时:
我没有结果。但是,如果我使用设置为“测试类别”的“名称”字段加载ByAttribute,我会得到一个结果。
因此,在数据库中,我查看了catalog_category_entity_varchar
表并注意到“name”属性有一个 store_id = 0 和 store_id = 1 的条目,而“custom_field”属性只有一个 store_id = 1 的条目。
当我在表中为“custom_field”添加了一个 store_id = 0 条目并将值设置为“abcd”时catalog_category_entity_varchar
,loadByAttribute 得到了预期的结果。
我的问题是,为什么“名称”字段中有一个 store_id = 0 条目,catalog_category_entity_varchar
而我的自定义字段却没有?
如何按自定义属性加载类别?
java - J2EE:自定义标签属性的默认值
因此,根据 Sun 的 J2EE 文档 ( http://docs.sun.com/app/docs/doc/819-3669/bnani?l=en&a=view ),“如果不需要标记属性,则标记处理程序应提供默认值。”
我的问题是如何根据文档的描述定义默认值。这是代码:
显然,这个标签不会编译,因为它缺少标签指令和核心库导入。我的意思是我希望“可见”属性默认为 TRUE。“标签属性不是必需的”,因此“标签处理程序应提供默认值”。我想提供一个默认值,那么我错过了什么?
任何帮助是极大的赞赏。
c# - .NET 4 中的自定义属性更改
我最近将一个 C# 项目从 .NET 3.5 升级到 .NET 4。我有一个方法可以从给定的MethodBase
实例列表中提取所有 MSTest 测试方法。它的身体是这样的:
这在 .NET 3.5 中有效,但自从将我的项目升级到 .NET 4 后,此代码始终返回一个空列表,即使给定包含标记为方法的方法列表也是如此[TestMethod]
。.NET 4 中的自定义属性是否发生了变化?
调试时,我发现GetCustomAttributesData()
测试方法的结果给出了两个列表,CustomAttributeData
在 Visual Studio 2010 的“Locals”窗口中描述为:
Microsoft.VisualStudio.TestTools.UnitTesting.DeploymentItemAttribute("myDLL.dll")
Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute()
——这就是我要找的
但是,当我调用GetType()
第二个CustomAttributeData
实例时,我得到{Name = "CustomAttributeData" FullName = "System.Reflection.CustomAttributeData"} System.Type {System.RuntimeType}
. 我怎样才能TestMethodAttribute
摆脱CustomAttributeData
, 以便我可以从MethodBase
s 列表中提取测试方法?
c# - 在 C# 中,我可以让自动属性在属性的帮助下执行一些额外的工作吗?
这个问题与此相关但不同:How do you give a C# Auto-Property a default value?
我喜欢自动属性,但有时我必须这样做:
如果我必须多次做同样的事情,我开始希望我不需要输入这么多行/字符的代码。我希望能够拦截该值并像这样更改它:
有没有办法做这样的事情?会不会很傻?有没有更好的办法?还有其他一般性意见吗?我承认,我给出的示例有点假设,我现在无法找到让我想到这一点的确切代码。
谢谢。
.net - 如何在运行时或编译时替换自动实现的 c# get body?
我整晚都在想办法解决这个问题,但我想我对 .Net Framework 的了解并不那么深入,而且问题并不完全是谷歌,但如果我能在正确的方向上点头,我我确信我可以以一种或另一种方式实现它。
我希望能够声明一个用自定义属性装饰的属性,如下所示:
然后不知何故 - 这是我无法弄清楚的部分 - 用一段自定义代码替换自动生成的 getter 实现,例如:
我不确定该怎么做的主要事情是替换get的自动实现。
首先想到的是PostSharp,但这是一个比我关心的更复杂的依赖项。我更喜欢一种不使用附加到构建的后处理来编码它的方法(我认为这就是 PostSharp 无论如何都会下沉它的钩子的要点)。
我不太确定的另一部分是如何检索传递给 ReplaceWithExpressionFrom 属性的特定实例化的类型参数(它装饰我要替换其主体的属性;换句话说,我如何获取 typeof (SomeOtherClass),我正在编码获取身体替换)。我计划从 IExpressionHolder 的具体实例缓存已编译的表达式,因为我不想在每次检索属性时都这样做。
我认为这必须成为可能。至少我认为我应该能够在程序集中搜索任何用该属性装饰的方法并以某种方式代理该类或只是替换 IL 或 .. 什么?而且我想让集成尽可能顺利,所以如果这可以在不显式调用注册或初始化方法的情况下完成,那将是非常棒的。
谢谢!
c# - 在方法的特定参数上放置属性有什么用处?
我正在寻找将属性放入参数的合理用例列表。
我可以想到方法中属性的一些好案例,但似乎看不到参数属性的良好用法。请赐教。
那么方法返回类型的属性呢?
asp.net-mvc - 如何将描述附加到控制器(ASP.net MVC)中的每个 ActionMethod?
所以最近,我想出了一种动态构建导航栏菜单的方法,其中控制器(及其索引操作方法)将列在每个页面顶部的水平栏中(通过 Site.Master),但也基于用户分配的角色。列出的每个控制器还将列出(在垂直下拉列表中)用户可用的 ActionMethods。
有关我为 ASP.NET MVC 创建扩展控制器类而编写的代码,请参见此处,该类解决了上述问题。
我意识到我还想为每个控制器自动创建一个默认索引页面,其中列出了所有可用的 ActionMethod 以及每个 ActionMethod 的简短 1 或 2 句描述,但正在思考如何将描述附加到 ActionMethod。
我的假设是我需要做三件事:
(1)创建我自己的属性,比如说,描述并装饰每个控制器中的每个动作方法,如下所示:
(2) 在我的基类 (ExtController) 中创建一个公共 ActionResult Index()方法,每个继承 ExtController 的类都将使用该方法来显示可供该用户使用的 ActionMethod 及其描述的列表。
(3) 在 Views/Shared 中创建一个 Index.aspx 视图来构建这样一个页面。
这是一个明智的做法吗?有一个更好的方法吗?
c# - ICustomAttributeProvider.GetCustomAttributes(...):设计奇怪?
MSDN 文档:MemberInfo.GetCustomAttibutes Method (Type, Boolean)在备注中声明:
此方法忽略属性和事件的继承参数。要在继承链中搜索属性和事件的属性,请使用 Attribute.GetCustomAttributes 方法的适当重载。
这基本上意味着此实现的第二个参数 ( bool inherit
) 对于事件成员和属性成员被忽略。但是,调用Attribute.GetCustomAttributes(MemberInfo,Type,bool)
这个操作的多样性不会。
令我困惑的是这个设计。
为什么他们似乎会在 2 种成员类型上任意忽略继承属性?
如果有人能对此有所了解,我将不胜感激。
android - 具有用于目标布局的自定义视图属性的 ViewStub
是否可以通过 ViewStub 将自定义属性传递给目标布局的根元素?像这样:
custom_view.xml 在哪里:
当我尝试这样做时,CustomView.java 在 AttributeSet 中没有得到“app:customAttr”。
当我直接使用 CustomView 时,没有 ViewStub
属性进入 AttributeSet ok。
但它不再懒惰了。
有什么解决办法吗?
谢谢你,尤里。