问题标签 [qualifiers]
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.
spring - Spring - 通过指定环境限定注入候选者
编辑: 也许问这个问题的更简洁的方法是:Spring 是否通过提供我自己的侦听器/工厂/决策逻辑为我提供了一种在注入时解决模棱两可的候选人的方法?
事实上,可以说下面成员字段上的@Environmental 限定符是不必要的:如果@Inject-ion 不明确......让我帮忙?事实上,@ResolveWith(EnvironmentalResolver.class) 也可以。
当 Spring 尝试注入依赖项(使用注释)时,我知道如果我要拥有多个实现该接口的组件,我需要 @Qualifier 一个 @Inject 点。
我想做的是这样的:
我希望我需要创建某种歧义解析器,它看起来(模糊地)像这样:
这很有用的一个例子是我们有一项联系最终用户的服务。现在我只有一个被破解的 AOP 方面,在调用“MailSender”的方法之前,检查“生产”环境标志,如果没有设置,它会向我们发送电子邮件而不是用户电子邮件。我我不想将其包装在特定于邮件发送的 AOP 方面,而是能够根据当前环境区分服务。有时这只是“生产”或“非生产”的问题,正如我在上面所展示的,但是每个环境的定义也有效。
我认为这也可以用于区域...例如@Regional 和@Regional(Region.UnitedStates) 等等。
我想@Environmental 实际上是一个@Qualifier,如果你想直接依赖于你可以依赖的环境(@Environmental(Production) bean 可能直接依赖于@Environmental(Production) 协作者 - 所以没有歧义较低级别的项目 --- 相同的 @Regional(US) 项目将明确依赖于其他 @Regional(US) 项目,并且会绕过我尚未理解的 BeanAmbiguityResolver)
谢谢。
c++ - const 限定转换
从 (4.4/1 ) 它读取
如果“cv2 T”比“cv1 T”更具有 cv 限定性,则“指向 cv1 T”的指针类型的右值可以转换为“指向 cv2 T 的指针”类型的右值。</p>
我不知道标准在哪里定义了“更多 cv-qualifield”类型,但据我所知,带有 const 的声明符比非 const 更符合 cv 要求。
对于以下转换,标准中的引用如何适合或您如何知道哪个更少或更多 cv-qualifed?
更新:
android - 布局不规则的 Android HDPI 设备
我遇到越来越多布局不规则的安卓设备,尤其是在 HDPI 部分。
问题是即使我在 xml 布局中只使用 DIP 值,我的更复杂的布局也无法正确缩放。动画特别成问题,因为我在TransformAnimation
代码中使用浮点值。
例如,我将有一个 3.7 英寸屏幕的 240dpi 手机,具有 android 标准分辨率。我可以为这个设备制作 HDPI 和大型布局,并让它们完美地适应所有设计和美学。
然后我有一部 4.2 英寸的手机,但它的垂直分辨率仍然低于 XHDPI 或 XLARGE。如果你问设备它的 DPI 是多少,它也会报告 240dpi。不幸的是,由于实际不同的纵横比、实际不同的屏幕尺寸和实际不同的分辨率,我的布局无法正确缩放。也没有办法创建一个单独的布局文件夹,因为设备认为它是一个布局大和 hdpi,因为它只是报告它错误。(两个EVO,其他几款“长”手机)阅读android文档,您似乎可以使用layout-long-large
和其他一些组合,但手机本身仍然认为它只是布局大。long
限定符在报告有关自身的正确信息的设备中确实有效。
人们如何使用 Android 框架来处理这个问题,而不是在代码中进行。这对我来说将是一项非常乏味的工作,如果硬件错误地报告了有关其自身的所有信息,我对如何动态地做到这一点有疑问。
洞察力赞赏。
glsl - GLSL tessellation control shader unknown qualifiers
当我加载我的镶嵌控制着色器时,它输出:
我的着色器看起来像这样
我在这里做错了什么?#version 400 应该可以看到限定符“顶点”?
规格说:
布局限定符
布局(布局限定符)输入/输出/统一
输出布局限定符
对于镶嵌控制着色器:vertices = integer-constant
我的镶嵌评估着色器也说:
我错过了什么吗?
问候,彼得
android - Android 布局限定符不起作用?
我正在使用 API Google Tv Addon 开发一个 android,我想使用屏幕限定符无触摸,我在 /res/ 下创建了一个名为 layout-notouch 的文件夹,我在我的活动中命名了我的布局 test.xml,当我放置setContentView(R.layout.test)
应用程序时碰撞。我怎么能使用这个屏幕限定符。或者,我可以以编程方式设置限定符。你可以看看这里 在这里输入链接描述
c++ - Const 丢弃限定符:C++
我正在使用 OpenGL 来渲染相机透视图,并且在我的代码中的一个点我试图获取光的方向(此处显示为“Vector4”类型)并将其乘以“Matrix4x4”类型的矩阵表示Modelview 转换(对不起,如果这没有任何意义,这是一个学校项目,因此我仍在学习这些东西)无论如何,我的代码如下......
这给了我以下错误:
同样,大部分代码都是为类预先编写的(即向量和矩阵类型),但如果有人能帮助我破译错误的含义,将不胜感激!我可以根据需要提供更多信息。
我认为 'data' 或 'data->dir' 是 const,但是我找不到它们中的任何一个。'dir' 是 SceneLightData 类型,当它被添加时,我正在这样做:
错误发生在这一行:
编辑
问题解决了。感谢大家!解决方案:
和
c++ - 什么是“*this 的右值引用”?
在 clang 的C++11 状态页面中遇到了一个名为“*this 的右值引用”的提议。
我已经阅读了很多关于右值引用并理解它们的内容,但我认为我不知道这一点。使用这些术语,我也无法在网上找到太多资源。
页面上有提案文件的链接:N2439(将移动语义扩展到 *this),但我也没有从那里得到太多示例。
这个功能是关于什么的?
android - Nexus One 和 Droid Razr 具有相同的限定符
我现在正在开发一个应用程序,但我的主菜单有两种格式。我试图让我的应用程序与尽可能多的手机一起使用,但据我所知,Nexus One 和 Droid Razr 具有相同的限定符但大小不同。
我在这里错过了什么吗?它们都遵循我的 main_menu.xml 的 layout-normal-hdpi 限定符
还有其他方法可以区分它们吗?我在我的 xml 中使用“dip”来分隔按钮,并且按钮将屏幕留在 Nexus One 上。
谢谢你。
c++ - C++11:对 const、volatile、左值引用和右值引用限定的成员函数指针进行抽象?
C++03 允许您将函数参数限定为const
、volatile
和/或左值引用 ( &
)。
C++11 又增加了一个:右值引用 ( &&
)。
此外,C++ 允许您根据参数的限定符重载函数,以便在调用函数时选择最合适的重载。
成员函数在概念上可以被认为是一个接受额外参数的函数,其类型是对其所属类的实例的引用。可以像任何其他参数一样重载基于此“额外参数”的限定符的成员函数。这通过将限定符放在函数签名的末尾来表示:
在 C++03 中,const
和volatile
限定符是可能的,并且 C++11 也允许&
和&&
(&
理论上在 C++03 中可以允许,但事实并非如此)。
可以使用任何限定符组合,除了&
和&&
是互斥的,这使得 C++03 中的 2^2 = 4 种可能性和 C++11 中的 2^4-4 = 12 种可能性。
当您想使用成员函数指针时,这可能会很痛苦,因为它们在这些限定符中甚至没有一点多态性:this
作为参数传递的成员函数指针的“类型”上的限定符必须完全匹配那些关于它被传递的参数的类型。C++ 也没有提供明确的工具来抽象限定符。在 C++03 中,这基本上没问题,因为您必须编写一个const
版本和一个非const
版本,而没有人关心volatile
,但是在 C++11 中的病态情况下(这并不像病态那样罕见)您可能不得不手动编写多达 12 个重载。每个功能。
我很高兴地发现,如果您将封闭类的类型作为模板参数传递并从中派生成员函数指针的类型,则允许const
和volatile
限定符如您所期望的那样传播:
这比手动写出所有案例要好得多。
不幸的是,它似乎不适用于&
and &&
。
GCC 4.7 说:
错误:形成指向引用类型“Baz&&”的指针</p>
但这并不奇怪,因为 4.7 的 GCC 还不支持this
.
我还尝试了 Clang 3.0,它确实有这样的支持:
错误:成员指针指向非类类型 'Baz &&'
那好吧。
我是否认为这是不可能的,并且无法在this type
成员函数指针的 " " 上抽象出引用限定符,这是否正确?this
除了在特定情况下将“this
类型”作为模板参数传递时,任何其他用于抽象限定符(尤其是 on )的技术也将不胜感激。
(值得指出的是,如果 C++ 不区分成员函数和普通函数,这一切都是微不足道的:您将使用模板形参作为函数(指针)的形参类型,而模板形参将按原样通过,限定符完好无损,无需额外考虑。)
c++ - C++:常量易失方法
我脑袋抽筋:
我知道编译器会让我调用 myStruct.getX2() 而不会让我调用myStruct.getX1()
,因为在 volatile 结构/类上调用的方法必须volatile
在这些方法上有限定符。
这是我的问题:如果我创建了这样一个类,并发布它以供其他软件例程使用,我会在方法上添加或不添加 volatile 限定符的原因是什么?
是因为标记的方法volatile
告诉编译器不要假设它的任何成员不是volatile
,为了优化目的,而如果一个方法没有标记volatile
,那么任何没有标记的成员volatile
都可以优化?