问题列表 - 第4381页

如何在C#中显示方法永远不会返回null(按合同设计)

我有一个永远不会返回null对象的方法.我想说清楚,以便我的API用户不必编写如下代码:

if(Getxyz() != null)
{
  // do stuff
}
Run Code Online (Sandbox Code Playgroud)

我该如何展示这个意图?

c# design-by-contract

9
推荐指数
2
解决办法
2233
查看次数

图像旋转算法

我正在寻找一种将图像旋转一定程度(输入)的算法.

public Image rotateImage(Image image, int degrees)
Run Code Online (Sandbox Code Playgroud)

(图像实例可以用包含每个像素RGB值的int []替换,我的问题是我需要为JavaME MIDP 2.0项目实现它,所以我必须使用1.5版之前的JVM上可运行的代码任何人都可以帮我解决这个问题?

编辑:我忘了提到我没有可用的SVG API,我需要一种方法来旋转90 - 180-270之外的任意度

此外,MIDP 2.0上没有可用的java.awt.*包

algorithm optimization image-manipulation midp java-me

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

使用C++中的私有函数覆盖公共虚函数

是否有任何理由使重写的C++虚函数的权限与基类不同?这样做有危险吗?

例如:

class base {
    public:
        virtual int foo(double) = 0;
}

class child : public base {
    private:
        virtual int foo(double);
}
Run Code Online (Sandbox Code Playgroud)

C++常见问题解答说,这是一个坏主意,但没有说为什么.

我已经在一些代码中看到了这个习惯用法,我相信作者试图让这个类最终,基于一个假设,即不可能覆盖私有成员函数.但是,本文显示了重写私有函数的示例.当然,C++ faq的另一部分建议不要这样做.

我的具体问题:

  1. 在派生类和基类中使用不同的虚拟方法权限是否存在任何技术问题?

  2. 有没有合理的理由这样做?

c++ overriding virtual-functions access-control

47
推荐指数
3
解决办法
2万
查看次数

HTML Validator在表单输入类型上给出错误,上下文中不允许使用该元素

这是我有的HTML Validator给我一个错误的代码:

<input type="text" id="search" name="keywords" />
<input type="submit" value="Search" name="Submit" />
Run Code Online (Sandbox Code Playgroud)

以下是HTML Validator中错误的屏幕截图(完整大小):

HTML Validator中的错误屏幕截图.

这是我收到的错误消息:

提到的元素不允许出现在您放置它的上下文中; 其他提到的元素是唯一允许存在的元素,并且可以包含所提到的元素.这可能意味着您需要一个包含元素,或者您可能忘记关闭前一个元素.

HTML文件的主体中有两种类型的元素,内联和块元素.此消息的一个可能原因是您尝试将块级元素(例如"<p>"或"<table>")放在内联元素中(例如"<a>","<span> ",或"<font>").

在以下示例中,<font>标记是内联标记,只能包含其他内联标记.但<p>标签是一个块标签.因此<p>标记不能包含在<font>标记中.

这是来自的html块:

<li>
    <form method="post" action="http://site.com/"  >
    <div class='hiddenFields'>
        <input type="hidden" name="ACT" value="19" />
        <input type="hidden" name="XID" value="90ee0994104d8ba87b6ef9b43e998fc8c89e0d9f" />
        <input type="hidden" name="RP" value="search/results" />
        <input type="hidden" name="NRP" value="" />
        <input type="hidden" name="RES" value="" />
        <input type="hidden" name="status" value="" />
        <input type="hidden" name="weblog" value="forms|alumni_distinguished|housing_faq|international_faq" />
        <input type="hidden" name="search_in" value="everywhere" />
        <input type="hidden" name="where" value="all" />
        <input type="hidden" name="site_id" value="1" …
Run Code Online (Sandbox Code Playgroud)

html w3c-validation

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

全球变量是否不好?

在C/C++中,全局变量和我的教授认为的一样糟糕吗?

c c++ global-variables

233
推荐指数
20
解决办法
10万
查看次数

谁在乎...只要结果还可以?

我对有些问题的反应感到震惊,这些问题指出开发人员更关心产生的编译字节而不是代码的含义.我倾向于选择后缀/前缀增量,因为我倾向于选择使用带有两个值的枚举类型的布尔值,以及关于正确的函数命名,以及......

所以这个问题更像是一个反复的民意调查:什么时候允许忽视一个人写的语义?边界线在哪里?

  • operator ++(后缀/前缀)
  • string.empty()与string ==""
  • vector.empty()与vector.size()== 0
  • 枚举{on,off} vs. boolean on = true; 关=假
  • ...

说出来.

编辑 -

我并不是要质疑(微观)优化的必要性.更确切地说,我想要了解你应该如何清楚自己所写的内容,以及"但是无论如何它都会编译为dword"这样的陈述,那么我为什么要把它作为一个枚举呢?(这是一个极端的情况......).

language-agnostic semantics

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

了解哪些其他语言有助于理解WPF概念

关于WPF我注意到的一件事是它结合了我所知道的其他计算机语言的各种概念,而其他概念对我来说是全新的.

哪些语言可以帮助WPF新手理解不同的WPF概念?

例如,如果您了解XSL,那么DataTemplates看起来会很熟悉,并且样式/ UI /逻辑的分离对于以前使用HTML/CSS/JavaScript的人来说并不是新的.

但是Bindings,MarkupExtensions,Resources,RoutedEvents/Commands,Attached Properties等等.

是否有一些语言可以帮助理解大多数WPF概念?哪些概念对WPF来说是完全独特的?


更新

那么......除了HTML和XSL之外,只有Cocoa有一个类似WPF的概念吗?我知道像RoutedEvents这样的东西与WPF视觉/逻辑树结构非常相关,因此不太可能在没有类似结构的平台中看到,但像Attached Properties这样的概念在许多非UI场景中似乎很有用.

wpf

6
推荐指数
1
解决办法
289
查看次数

使用Xcode调试器查看动态分配的数组?

假设我在C++中有一个数组:

double* velocity = new double[100];
Run Code Online (Sandbox Code Playgroud)

使用GDB命令行,我可以使用以下命令查看此数组:

> print *velocity @ 100
Run Code Online (Sandbox Code Playgroud)

它将打印一个格式良好的列表,列出数组中的所有double值.

但是,在使用Xcode调试器时,它所做的最多就是将其视为指向单个double值的指针,并在变量列表中显示velocity [0].

这使得它成为一个真正的PITA来调试包含大型动态分配数组的程序.必须有一些方法来告诉Xcode"这是一个指向长度为100的数组的指针",并让它显示这样的东西.有人知道这是什么吗?

c++ macos xcode gdb

21
推荐指数
3
解决办法
2万
查看次数

为什么我的比较if语句不起作用?

为什么下面的代码(在可可中)不起作用?

NSString *extension = [fileName pathExtension];
NSString *wantedExtension = @"mp3";
if(extension == wantedExtension){
//work
}
Run Code Online (Sandbox Code Playgroud)

在Xcode中,这只是在没有警告或错误的情况下运行,但是没有做我认为应该做的事情.

string cocoa objective-c object-comparison

3
推荐指数
2
解决办法
4282
查看次数

是否可以使WcfTestClient适用于自定义传输通道?

目标

我希望能够通过WCF在我正在设计的托管框架内托管和连接到vanilla套接字服务器.我希望能够使用WCF来编码今天必须由套接字程序员手动管理的传输和协议通信.这将允许我与Linux服务器守护程序的最终互操作性,除了传统的套接字和专有协议之外什么也不暴露.我只对此时通常使用WcfTestClient验证传输通道层感兴趣.我的理解是WcfTestClient不支持复杂的服务方法.

有人认为可以使WcfTestClient适用于自定义传输通道吗? 能够通常使用此客户端来测试任意数量的自定义传输通道将是非常好的.

概观

我正在努力了解Windows SDK中包含的WCF Udp示例,该示例通常位于C:\ Program Files\Microsoft SDKs\Windows\v6.1\Samples\WCFSamples\TechnologySamples\Extensibility\Transport\Udp\CS,假设WCFSamples.zip文件是从Samples目录中完全解压缩的.

这是我到目前为止采取的步骤:

  • (成功):在Visual Studio 2008中成功运行解决方案的服务和客户端.

  • (成功):使用通常位于C:\ Program Files\Microsoft Visual Studio 9.0\Common7\IDE的WcfTestClient连接到MEX端点

  • (失败):使用WcfTestClient尝试从ICalculatorContract或IDatagramContract服务合同执行方法.

例如,当我执行Hello()方法时,我收到以下错误:

友情致辞:

无法调用该服务.可能的原因:服务离线或无法访问; 客户端配置与代理不匹配; 现有代理无效.有关更多详细信息,请参阅堆栈跟踪.您可以尝试通过启动新代理,还原到默认配置或刷新服务来进行恢复.

错误详情:

具有合同"IDatagramContract"的ServiceEndpoint上的CustomBinding缺少TransportBindingElement.每个绑定必须至少有一个派生自TransportBindingElement的绑定元素.在System.ServiceModel.Channels.Binding.EnsureInvariants(字符串contractName)在System.ServiceModel.Description.ServiceEndpoint.EnsureInvariants()在System.ServiceModel.Channels.ServiceChannelFactory.BuildChannelFactory(ServiceEndpoint serviceEndpoint)在System.ServiceModel.ChannelFactory.CreateFactory()在System.ServiceModel.ChannelFactory.OnOpening()处于System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)的System.ServiceModel.ChannelFactory.EnsureOpened()处于System.ServiceModel.ChannelFactory1.CreateChannel(EndpointAddress address, Uri via) at System.ServiceModel.ChannelFactory1.CreateChannel()在System.ServiceModel.ClientBase 1.CreateChannel() at System.ServiceModel.ClientBase1.CreateChannelInternal()在System.ServiceModel.ClientBase`1.get_Channel()在DatagramContractClient.Hello()

了解客户端错误

在UdpTransport项目中定义的UdpTransportBindingElement肯定是从TransportBindingElement派生的,如下所示,所以我认为WcfTestClient配置文件中必定缺少某些内容和/或可能我必须以某种方式为测试客户端提供更多信息.我尝试将Udp解决方案的客户端项目的System.ServiceModel部分复制到WcfTestClient的配置文件中,以及将传输程序集dll复制到与测试客户端相同的文件夹中,但是我收到了同样的错误.

我的理解是MEX端点应该足以获得调用服务上的简单方法所需的信息.当然,我理解这个故事可能还有更多,考虑到我正在努力创建一个旨在测试开箱即用传输通道的客户端与自定义传输通道一起工作.

/// <summary>
/// Udp Binding Element.  
/// Used to configure and construct Udp ChannelFactories and ChannelListeners.
/// </summary>
public class UdpTransportBindingElement 
    : TransportBindingElement // to signal that we're a transport
    , IPolicyExportExtension // for policy …
Run Code Online (Sandbox Code Playgroud)

.net c# wcf interface wcf-binding

14
推荐指数
1
解决办法
1万
查看次数