问题列表 - 第2257页

C#4中的动态关键字是否支持扩展方法?

听谈话C#4dynamic关键词,我想知道......请问这个功能是正交的其它.NET功能,例如将它支持扩展方法?

public static class StrExtension {
    public static string twice(this string str) { return str + str; }
}
...
dynamic x = "Yo";
x.twice(); // will this work?
Run Code Online (Sandbox Code Playgroud)

注意:这个问题是在C#4发布之前提出的,这就是为什么它将在未来时使用.

c# extension-methods dynamic c#-4.0

43
推荐指数
1
解决办法
8884
查看次数

用于许可证密钥的.NET加密?

我想创建一个许可证密钥,你会推荐哪种密码算法?

基本上输入将是:

公司名称
主要版本号
日期创建
expirey日期
有feature1:
有feature2:
有feature3:

例如Acme Inc 5.0 20081102 20081102 0 1 0

相关:哪种内置的.NET加密算法最安全?

.net encryption cryptography

14
推荐指数
2
解决办法
5162
查看次数

电话号码规范化:任何预先存在的图书馆?

我有一个使用电话号码作为唯一标识符的系统.出于这个原因,我想使用标准化格式格式化所有电话号码.因为我无法控制我的源数据,所以我需要自己解析这些数字并将它们格式化,然后再将它们添加到我的数据库中.

我即将编写一个可以读取电话号码并输出标准化电话格式的解析器,但在此之前,我想知道是否有人知道我可以用来格式化电话号码的任何预先存在的库.

如果没有预先存在的库,那么在创建可能不明显的此功能时,我应该记住哪些事项?

虽然我的系统目前只处理美国号码,但我打算尝试包括对国际号码的支持,以防万一有可能需要它.

编辑我忘了提到我正在使用C#.NET 2.0.

.net c# normalization phone-number .net-2.0

20
推荐指数
3
解决办法
8969
查看次数

处理WCF反序列化DateTime对象

我们有一个运行的调度应用程序调用WCF服务来运行夜间作业.其中大量包括有关当前营业日期的信息.出于商业原因,调度服务器设置为GMT,但我们的服务在设置为纽约时间的服务器上运行.

这引起了一个问题; 日期将通过显式时区信息传递给我们的.NET服务.因此,当服务告诉应用程序以"2008-11-03 00:00:00 +0:00"的日期运行时,服务会将其解释为"2008-11-02 19:00:00 -5:00" "事情与错误的日期有关.

调度程序行为是第三方和硬编码的,因此我们无法告诉调度程序省略时区偏移.我们不希望总是将日期转换为GMT,因为我们的亚洲办事处很可能会调用相同的服务,我们将回到同样的问题.

有没有办法标记DataContract,甚至控制它在足够低的水平,以确保DateTime种类将是未指定的?或者是否有一种方法使用DateTime来确定用于创建它的原始信息是什么,并在后处理步骤中将其转换回原始值?

如果它有帮助,那么我们现在的合同相当简单.方法采用一个参数,该参数是从下面的类派生的类.

[DataContract]
public class BaseTimeSensitiveParameters
{
    [DataMember] public DateTime? BusinessDate;
}
Run Code Online (Sandbox Code Playgroud)

c# wcf datetime

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

每个浮点数都可以完全表示为双精度数吗?

float变量的每个可能值都可以精确地表示在double变量中吗?

换句话说,对于所有可能的值X,以下内容将成功:

float f1 = X;
double d = f1;
float f2 = (float)d;

if(f1 == f2)
  System.out.println("Success!");
else
  System.out.println("Failure!");
Run Code Online (Sandbox Code Playgroud)

我怀疑是没有例外,或者只有边缘情况(如+/-无穷大或NaN).

编辑:问题的原始措辞令人困惑(陈述两种方式,一种是回答"否",另一种方式对同一答案回答"是").我已经对它进行了重写,以便与问题标题相匹配.

java floating-point

16
推荐指数
3
解决办法
2320
查看次数

C#NullReference Exception和ReSharper建议

这就是我写的:

if ((lstProperty[i].PropertyIdentifier as string).CompareTo("Name") == 0)
Run Code Online (Sandbox Code Playgroud)

Resharper给我一个错误(我是ReSharper的新手...我正在尝试它)它建议我:

  if (((string) lstProperty[i].PropertyIdentifier).CompareTo("Name") == 0)
Run Code Online (Sandbox Code Playgroud)

为什么第二个是NullException安全?对我来说,如果出现空值,两者都会崩溃?

.net c# resharper .net-2.0

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

为什么我会选择Powershell而不是WMI来开发管理界面?

我们正在讨论为我们的分布式系统开发改进的管理基础架构.我们使用COM,Web服务和.NET组件.由于我们基于Microsoft Windows Server XP/2003,我猜,我们基本上有两个选择:

  1. Powershell cmdlet
  2. 使用System.Management和WMI提供程序的WMI类用于本机代码(类,实例,方法,事件)

为什么我们会选择Powershell而不是WMI?

powershell wmi systemmanagement

11
推荐指数
1
解决办法
864
查看次数

为什么C#不允许静态方法实现接口?

为什么C#这样设计?

据我所知,接口只描述行为,并且用于描述实现某些行为的接口的类的合同义务.

如果类希望在共享方法中实现该行为,为什么不应该这样做呢?

这是我想到的一个例子:

// These items will be displayed in a list on the screen.
public interface IListItem {
  string ScreenName();
  ...
}

public class Animal: IListItem {
    // All animals will be called "Animal".
    public static string ScreenName() {
        return "Animal";
    }
....
}

public class Person: IListItem {

    private string name;

    // All persons will be called by their individual names.
    public string ScreenName() {
        return name;
    }

    ....

 }
Run Code Online (Sandbox Code Playgroud)

c# oop language-features

435
推荐指数
9
解决办法
18万
查看次数

将应用程序部署到Windows Mobile Pocket PC

在将我的应用程序部署到Pocket PC模拟器时,我遇到了磁盘空间问题.

所以我做的是在我的电脑上设置一个共享目录来模拟SD卡,Iv手动复制程序然后从模拟器运行它,这种方法我仍然需要进行visual studio部署以便这样做.net紧凑框架被复制过来.

如何将visual studio部署到共享目录?"输出文件夹"显示为灰色,我只能从预定义位置列表中进行选择.


对不起,也许我不想清楚,当我说"我只能从预定位置列表中选择"时,我指的是[..]菜单中的选项.我需要某种自由文本输入.我想要像d:\ MyShare这样的东西.

我想的最好的是手动编辑解决方案xml,但这似乎是一个糟糕的方法?

deployment windows-mobile visual-studio-2008

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

rtsp通过代理上的http

我正在尝试使用代理通过HTTP获取RTSP流.Real客户端的行为似乎有点忙碌:它会立即尝试所有可能的端口,方法和协议.唯一应该工作的是通过端口80的HTTP GET.确实发出了这样的请求,并在服务器上接收.以下是代理向服务器发送请求时的外观:

GET /SmpDsBhgRl83c52ef2-d0f4-41ac-bada-93e5350f67d1?1="1" HTTP/1.0\r\n
Connection: Keep-Alive\r\n
Host: 10.194.5.162:80\r\n
Pragma: no-cache\r\n
User-Agent: RealPlayer G2\r\n
Expires: Mon, 18 May 1974 00:00:00 GMT\r\n
Accept: application/x-rtsp-tunnelled, */*\r\n
ClientID: WinNT_5.1_6.0.14.806_RealPlayer_R41UKD_en-GB_686\r\n
X-Actual-URL: rtsp://10.194.5.162:554/01.mp3\r\n
\r\n
Run Code Online (Sandbox Code Playgroud)

这是服务器的响应:

HTTP/1.0 200 OK\r\n
Server: RMServer 1.0\r\n
Expires: Mon, 18 May 1974 00:00:00 GMT\r\n
Pragma: no-cache\r\n
x-server-ipaddress: 10.194.5.162\r\n
Content-type: audio/x-pn-realaudio\r\n
\r\n
Run Code Online (Sandbox Code Playgroud)

此时,还有4个字节从服务器到达(它们的值为48 02 02 00) - 就是这样,仅此而已.服务器此时是否期望来自客户端,如果是这样 - 什么?这种操作模式是否有效?

关于这个问题的更多信息:显然,在RealPlayer中内置的使用RTSP over HTTP的预期机制如下:

  1. 尝试连接到以下端口:80,8080,554,7070.(尝试直接下载文件,只是为了它,通过在端口80上发出GET http:// hostname:port/mediafilename)
  2. 对于上述每个端口,创建2个连接.
  3. 向其中一个连接发送GET请求http:// hostname:port/SmpDsBhgRl<guid>?1 ="1",其中<guid>是,是新创建的GUID.在此请求中添加一个名为X-Actual-URL的标头,其中包含原始RTSP URL.
  4. 在另一个连接上发送POST请求到URL http:// hostname:port/SmpDsBhgRl,上面的GUID作为请求正文的一部分.发送一个32767字节的Content-Length标头,以防止代理提前关闭连接.
  5. 通过POST请求开始向服务器发出命令,并获取相应的RTSP流作为GET响应的一部分. …

streaming proxy networking http rtsp

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