我在接受采访时被问到有关接口的问题.我不确定这是否真的有可能.请看下面的问题.
有3个接口A,B和C. A继承自接口B和C:
public interface A : B,C
{
}
Run Code Online (Sandbox Code Playgroud)
我们必须确保该接口的用户无法使用B,并C直接或独立,只有使用A.
我可以想到以下场景:
B和C内部接口.但我没有看到任何实际用途,因为我可以直接定义所有成员A本身.B和C私人接口.但我怎么能做到呢?此外,我在下面的MSDN链接中看到,B并且C必须至少像A一样可访问:http://msdn.microsoft.com/en-us/library/aa664578%28v=VS.71%29.aspx.有没有办法做到这一点,或者问题本身是错的?
在我的ASP.NET .NET 4书中,我看到了这样的语法:
public event EventHandler<AddressEventArgs> SaveButtonClick;
Run Code Online (Sandbox Code Playgroud)
我不熟悉这种语法,尤其是事件处理程序旁边的"<>".有人可以解释一下上面的代码吗?
本书的完整代码示例如下.
//Declare custom EventArgs to be used
public class AddressEventArgs : EventArgs {
public AddressEventArgs(string addressLine1, string addressLine2,
string city, string state, string postalCode) {
this.AddressLine1 = addressLine1;
this.AddressLine2 = addressLine2;
this.City = city;
this.State = state;
this.PostalCode = postalCode;
}
public string AddressLine1 { get; private set; }
public string AddressLine2 { get; private set; }
public string City { get; private set; }
public string State { get; private set; …Run Code Online (Sandbox Code Playgroud) 我认为我要做的很明显,但如果你不理解,请问.
if (listBox1.SelectedIndex == 1 && 2)
{
label1.Text = "Sometext";
}
Run Code Online (Sandbox Code Playgroud) 我是Android的新手.在我的应用程序开发中,我想处理显示(屏幕)旋转.是否有任何听众可以处理此事件?或者有没有其他方法来处理这种情况?
感谢和问候,
巴拉
是否有ISO标准地址格式?我似乎找不到一个,我想知道对象和数据库设计的目的.
(一个显示一系列格式的有趣文档是:http://www.bitboost.com/ref/international-address-formats.html,但它很疯狂!)
我想在没有Zend_Framework的情况下使用Zend_Db.我希望将Zend_Db合并到我现有的网站上,而不是使用Zend Framework制作的.可以像这样使用Zend_Db吗?你能推荐一个好的教程或示例如何做好吗?
我需要转换日期
"01/30/2011" - >"2011-01-30"
我怎么能用c#转换?我试过.Tostring(yyyy-MM-dd).它起作用了.提前致谢.
我正在为64位x86生成以下指令:
41 F3 0F 10 46 10 movss XMM0,014h[R14]
Run Code Online (Sandbox Code Playgroud)
不幸的是,它在该行上出现故障.gdb将其反汇编为:
0x0000000000402054 <+320>: rex.B
0x0000000000402055 <+321>: movss 0x14(%rsi),%xmm0
Run Code Online (Sandbox Code Playgroud)
请注意,无法识别rex.B覆盖,索引是RSI而不是R14.
指令无效吗?在AMD 64位指令参考中,我找不到任何迹象表明此编码无效.
objdump也无法将其识别为有效指令:
41 rex.B
f3 0f 10 46 10 movss 0x10(%rsi),%xmm0
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?
我在使用格式函数时遇到问题boost::regex_replace.我可以调用它的一个参数版本,但不能调用两个参数:
e = "(^|>)([^<>]+)";
h_str = regex_replace(h_str, e, repl_quot, boost::match_default);
Run Code Online (Sandbox Code Playgroud)
在哪里repl_quot定义为
std::string const &repl_quot(boost::smatch const &what) {
boost::regex e("\"");
std::string repl(""");
static std::string;
str = regex_replace(what[0].str(), e, repl, boost::match_default);
return str;
}
Run Code Online (Sandbox Code Playgroud)
上面的工作,但我真的不想使用那个静态变量,所以我尝试了我认为是一个可接受的两个参数替代版本:
std::string const &repl_quot2(boost::smatch const &what, std::string &out) {
boost::regex e("\"");
std::string repl(""");
out = regex_replace(what[0].str(), e, repl, boost::match_default);
return out;
}
Run Code Online (Sandbox Code Playgroud)
但是regex_replace不会接受这个(一个错综复杂的编译器错误).我正在尝试使用基于以下Boost::Regex文档的两个参数版本:
template basic_string regex_replace(const basic_string&s,const basic_regex&e,Formatter fmt,match_flag_type flags = match_default);
要求类型Formatter必须是......一元,二元或三元函子,它从函数调用计算替换字符串:fmt(what)必须返回char_type的容器以用作替换文本,或者fmt (what,out)或fmt(what,out,flags),两者都将替换文本写入*out,然后返回新的OutputIterator位置.在每种情况下,match_results对象是什么,表示找到的匹配项.
已经多次请求编译器错误消息,所以这里(小心你要求的):
c:\ boost\boost\regex\v4\regex_format.hpp在成员函数`OutputIter boost :: re_detail :: format_functor_container …