基本上,我希望能够在ENTER按下键时触发事件.我已经尝试过了:
private void input_KeyDown(object sender, KeyEventArgs e)
{
if (e.Equals("{ENTER}"))
{
MessageBox.Show("Pressed enter.");
}
}
Run Code Online (Sandbox Code Playgroud)
但MessageBox永远不会出现.我怎样才能做到这一点?
请考虑以下代码:
#include <iostream>
template<class T>
struct outer {
struct inner {};
};
template<class T>
std::ostream& operator<<(std::ostream & stream,
typename outer<T>::inner const& value) {
std::cout << "An outer::inner!";
return stream;
}
int main() {
outer<float>::inner foo;
std::cout << foo << std::endl; // does not compile
}
Run Code Online (Sandbox Code Playgroud)
这不编译,因为typename outer<T>::inner是nondeduced背景(如解释在这里),这意味着模板参数的类型不能被编译器推导出(读这个答案的原因).在我看来,我有两个选项让它工作:
inner到外面outer并使其成为类模板.我更喜欢这个,因为对使用代码的影响较小.to_string在内部添加一个方法.是否有任何其他解决方案(在使用代码中不会导致丑陋的语法)?
在启用ProGuard的情况下编译我的Android应用程序时出现以下错误.
Warning: library class android.databinding.tool.util.SourceCodeEscapers$1
extends or implements program class com.google.common.escape.CharEscaper
Warning: library class android.databinding.tool.util.SourceCodeEscapers$JavaCharEscaper
extends or implements program class com.google.common.escape.ArrayBasedCharEscaper
Warning: library class android.databinding.tool.util.SourceCodeEscapers$JavaCharEscaperWithOctal
extends or implements program class com.google.common.escape.ArrayBasedCharEscaper
Warning: there were 3 instances of library classes depending on program classes.
You must avoid such dependencies, since the program classes will
be processed, while the library classes will remain unchanged.
(http://proguard.sourceforge.net/manual/troubleshooting.html#dependency)
Run Code Online (Sandbox Code Playgroud)
看起来这是由Android 数据绑定和Guava 之间的冲突引起的.我的应用程序依赖于Guava(com.google.guava:guava:18.0)并启用了数据绑定.这似乎是结合数据具有某种对番石榴内部依赖,并且是造成问题的ProGuard.
我正在运行最新的测试版gradle(2.0.0-beta5),所以问题可能与此有关.
如何将 Firebase Cloud Functions 添加到 MongoDB 集群的 IP 白名单?
错误信息:
