这段代码:
abstract class C
{
protected abstract void F(D d);
}
class D : C
{
protected override void F(D d) { }
void G(C c)
{
c.F(this);
}
}
Run Code Online (Sandbox Code Playgroud)
生成此错误:
无法通过类型为"C"的限定符访问受保护的成员'CF(D)'; 限定符必须是'D'类型(或从中派生)
他们在想什么?(会改变那条规则会破坏某些东西吗?)除了让F公开之外,还有其他方法吗?
编辑:我现在明白为什么会这样(感谢格雷格),但我仍然对理性感到有些困惑; 给定:
class E : C
{
protected override void F(D d) { }
}
Run Code Online (Sandbox Code Playgroud)
为什么不应该 D是能够能够调用EF?
编辑错误消息,所以我可能会在那里输入错误.
我觉得我对实际设备上的调试工作情况只是阴霾 - 这是怎么回事?我一直在阅读Apple关于创建配置配置文件的文档,但是我没有找到任何信息来简单地通过Xcode调试我的设备上运行的应用程序.有人能指出我正确的方向吗?
编辑(2009年2月19日): 我是否需要创建一个临时配置文件来调试我的应用程序,我得到了相互矛盾的答案.如果我不需要创建临时配置文件,除了拥有自己的开发配置文件和证书之外,我还需要做些什么来调试我的应用程序?
编辑(2/20/09): 此链接,iPhone开发指南:准备开发设备,似乎表明您确实需要开发配置文件来在设备上进行调试.在我的上一次编辑中,我提到我是否需要创建临时配置文件的答案相互矛盾.答案没有冲突,我只是不理解ad-hoc配置文件和开发配置文件之间的区别.
我需要计算赢得的游戏和游戏丢失的百分比.我一直在犯错误,这让我陷入困境.我已经多次更改了我的代码,以至于当我开始时我并不记得它是什么样的.
Private Sub btnPercentage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPercentage.Click
Dim team As String
Dim won, lost, percentage As Integer
team = CStr(txtTeam.Text)
won = CInt(txtGamesWon.Text)
lost = CInt(txtGamesLost.Text)
percentage = CInt(txtPercent.Text)
percentage = (won + lost) / 2
txtPercent.Text = team & " won" & percentage & " of its games."
Run Code Online (Sandbox Code Playgroud) 非正式地,我们大多数人都知道存在"二进制"文件(目标文件,图像,电影,可执行文件,专有文档格式等)和"文本"文件(源代码,XML文件,HTML文件,电子邮件等).
通常,您需要知道文件的内容才能对其执行任何有用的操作,并且如果编码是"二进制"或"文本",则形成该视点,这并不重要.当然,文件只存储数据字节,因此它们都是"二进制",而"文本"并不意味着什么,而不知道编码.然而,谈论'二进制'和'文本'文件仍然很有用,但为了避免冒犯任何具有这种不精确定义的人,我将继续使用'恐慌'报价.
但是,有各种工具可以处理各种文件,实际上,您希望根据文件是"文本"还是"二进制"来执行不同的操作.这方面的一个例子是在控制台上输出数据的任何工具.简单的"文本"看起来很好,很有用.'二进制'数据会扰乱您的终端,并且通常无法查看.GNU grep在确定是否应该输出匹配到控制台时至少使用这种区别.
那么,问题是,如何判断文件是"文本"还是"二进制"?而且要进一步限制,你如何在类似Linux的文件系统上讲述?我不知道任何文件系统元数据指示文件的"类型",所以通过检查文件的内容,我如何判断它是"文本"还是"二进制"?为简单起见,我们将"text"限制为可在用户控制台上打印的字符.特别是你会如何实现这个?(我认为这是暗示在这个网站上,但我想一般来说,指向现有的代码,这应该是有用的,我应该指定),我不是真的在我可以使用的现有程序之后做什么这个.
我正在使用SmtpClient发送带附件的电子邮件.但是对于某个批处理,我们需要以某种方式保存MailMessage而不是发送它们.然后我们考虑/希望手动将消息上传到用户草稿文件夹.
是否可以保存这些消息与附件完整(不可能,我会想到).或者将邮件上传到用户帐户中的文件夹?
如果有人对此有任何经验,我会非常感谢一些帮助或指针.
我正在做一些Wave文件处理,让它们从磁盘读取到一个字节数组.我想快速将部分从这个字节数组复制到另一个缓冲区进行中间处理.目前我使用这样的东西:
float[] fin;
byte[] buf;
//fill buf code omitted
for(int i=offset; i < size; i++){
fin[i-offset] = (float) buf[i];
}
Run Code Online (Sandbox Code Playgroud)
我觉得这是一个缓慢的方法,因为在for循环条件和增量中有尽可能多的计算在实际正文中有结束.如果在C#中有可用的块复制或其他方式我可以实现块复制,那将是很好的.
也许它不是太慢,但确定移动一些数据看起来确实很多.这里"大小"介于2 ^ 10和2 ^ 14之间.然后我将"fin"关闭到FFT库,所以这绝不是代码中最慢的部分,也许我正在咆哮错误的树.
编辑更新:我意识到微优化不是别人应该花时间的地方,我意识到分析是一种更好的方式来实现整体加速,但我知道这个代码是在一个"热门路径",必须在下面完成三分之一秒的不同终端用户体系结构,以最大限度地减少我们的硬件系统要求.即使我知道以下FFT代码会耗费更多时间,但我正在寻找能够获得它们的加速.
Array.Copy肯定看起来不错,之前我不知道,我认为这个Q&A已经成功了!
我有一个UIPickerView,在不使用时会逐渐消失到20%的alpha.我希望用户能够触摸选择器并将其淡入.
如果我在主视图上放置touchesBegan方法,我可以让它工作,但这仅在用户触摸View时才有效.我尝试了UIPickerView的子类化,并在那里有一个touchesBegan,但它没有用.
我猜它与Responder链有关,但似乎无法解决.
基本上我的情况是我有一个内部网站,需要一个单一的硬编码用户名和密码才能访问(这不能关闭,只能更改).我出于各种原因通过反向代理公开这个网站(隐藏端口,简化网址,简化NAT等).
但是,我想要做的是能够使用Apache来处理身份验证,以便:
编辑:关于更丰富的身份验证的第二部分已移至新问题
这或多或少是我现在所拥有的:
<VirtualHost *:80>
ServerName sub.domain.com
ProxyPass / http://192.168.1.253:8080/endpoint
ProxyPassReverse / http://192.168.1.253:8080/endpoint
# The endpoint has a mandatory password that I want to avoid requiring users to type
# I.e. something like this would be nice (but does not work)
# ProxyPass / http://username:password@192.168.1.253:8080/endpoint
# ProxyPassReverse / http://username:password@192.168.1.253:8080/endpoint
# Also need to be able to require a password to access proxy for people outside local subnet
# However these passwords will be …Run Code Online (Sandbox Code Playgroud) c# ×3
.net ×2
iphone ×2
adhoc ×1
apache ×1
apache2 ×1
arrays ×1
ascii ×1
biginteger ×1
binaryfiles ×1
cocoa-touch ×1
debugging ×1
delphi ×1
email ×1
file-format ×1
image ×1
loops ×1
mod-proxy ×1
objective-c ×1
optimization ×1
overriding ×1
protected ×1
smtp ×1
uipickerview ×1
unix ×1
vb.net ×1