问题列表 - 第5171页

为什么我不能访问C#受保护的成员,除非像这样?

这段代码:

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?


编辑错误消息,所以我可能会在那里输入错误.

c# overriding protected access-modifiers

38
推荐指数
4
解决办法
3万
查看次数

如何在Delphi中使用图像旋转来创建表单?

就像我们在网站上看到的那样.我在哪里可以获得图像?

delphi image

0
推荐指数
1
解决办法
626
查看次数

我是否需要制作Ad Hoc Provisioning Profile以在我的iPhone上调试我的应用程序?

我觉得我对实际设备上的调试工作情况只是阴霾 - 这是怎么回事?我一直在阅读Apple关于创建配置配置文件的文档,但是我没有找到任何信息来简单地通过Xcode调试我的设备上运行的应用程序.有人能指出我正确的方向吗?


编辑(2009年2月19日): 我是否需要创建一个临时配置文件来调试我的应用程序,我得到了相互矛盾的答案.如果我不需要创建临时配置文件,除了拥有自己的开发配置文件和证书之外,我还需要做些什么来调试我的应用程序?


编辑(2/20/09): 此链接,iPhone开发指南:准备开发设备,似乎表明您确实需要开发配置文件来在设备上进行调试.在我的上一次编辑中,我提到我是否需要创建临时配置文件的答案相互矛盾.答案没有冲突,我只是不理解ad-hoc配置文件和开发配置文件之间的区别.

iphone debugging adhoc

1
推荐指数
2
解决办法
6250
查看次数

计算赢/输百分比

我需要计算赢得的游戏和游戏丢失的百分比.我一直在犯错误,这让我陷入困境.我已经多次更改了我的代码,以至于当我开始时我并不记得它是什么样的.

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)

vb.net

0
推荐指数
1
解决办法
5056
查看次数

5
推荐指数
1
解决办法
3516
查看次数

如何区分"二进制"和"文本"文件?

非正式地,我们大多数人都知道存在"二进制"文件(目标文件,图像,电影,可执行文件,专有文档格式等)和"文本"文件(源代码,XML文件,HTML文件,电子邮件等).

通常,您需要知道文件的内容才能对其执行任何有用的操作,并且如果编码是"二进制"或"文本",则形成该视点,这并不重要.当然,文件只存储数据字节,因此它们都是"二进制",而"文本"并不意味着什么,而不知道编码.然而,谈论'二进制'和'文本'文件仍然很有用,但为了避免冒犯任何具有这种不精确定义的人,我将继续使用'恐慌'报价.

但是,有各种工具可以处理各种文件,实际上,您希望根据文件是"文本"还是"二进制"来执行不同的操作.这方面的一个例子是在控制台上输出数据的任何工具.简单的"文本"看起来很好,很有用.'二进制'数据会扰乱您的终端,并且通常无法查看.GNU grep在确定是否应该输出匹配到控制台时至少使用这种区别.

那么,问题是,如何判断文件是"文本"还是"二进制"?而且要进一步限制,你如何在类似Linux的文件系统上讲述?我不知道任何文件系统元数据指示文件的"类型",所以通过检查文件的内容,我如何判断它是"文本"还是"二进制"?为简单起见,我们将"text"限制为可在用户控制台上打印的字符.特别是你会如何实现这个?(我认为这是暗示在这个网站上,但我想一般来说,指向现有的代码,这应该是有用的,我应该指定),我不是真的在我可以使用的现有程序之后做什么这个.

language-agnostic unix ascii file-format binaryfiles

61
推荐指数
5
解决办法
4万
查看次数

使用SmtpClient时如何保存电子邮件而不是发送?

我正在使用SmtpClient发送带附件的电子邮件.但是对于某个批处理,我们需要以某种方式保存MailMessage而不是发送它们.然后我们考虑/希望手动将消息上传到用户草稿文件夹.

是否可以保存这些消息与附件完整(不可能,我会想到).或者将邮件上传到用户帐户中的文件夹?

如果有人对此有任何经验,我会非常感谢一些帮助或指针.

.net c# email smtp

44
推荐指数
4
解决办法
4万
查看次数

复制数组的最快方法是什么?

我正在做一些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已经成功了!

c# arrays optimization loops

4
推荐指数
1
解决办法
3435
查看次数

响应UIPickerView中的touchesBegan而不是UIView

我有一个UIPickerView,在不使用时会逐渐消失到20%的alpha.我希望用户能够触摸选择器并将其淡入.

如果我在主视图上放置touchesBegan方法,我可以让它工作,但这仅在用户触摸View时才有效.我尝试了UIPickerView的子类化,并在那里有一个touchesBegan,但它没有用.

我猜它与Responder链有关,但似乎无法解决.

iphone cocoa-touch objective-c uipickerview

6
推荐指数
2
解决办法
7855
查看次数

Apache2反向代理到需要BasicAuth但想要从用户隐藏它的端点

基本上我的情况是我有一个内部网站,需要一个单一的硬编码用户名和密码才能访问(这不能关闭,只能更改).我出于各种原因通过反向代理公开这个网站(隐藏端口,简化网址,简化NAT等).

但是,我想要做的是能够使用Apache来处理身份验证,以便:

  1. 我没有给每个人发密码
  2. 我可以使用Apache的BasicAuth拥有多个用户名和密码
  3. 对于内部用户,我不必提示输入密码

编辑:关于更丰富的身份验证的第二部分已移至新问题

这或多或少是我现在所拥有的:

<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)

apache reverse-proxy apache2 mod-proxy basic-authentication

20
推荐指数
2
解决办法
4万
查看次数