小编Dan*_* T.的帖子

如何检查类型是子类型还是对象类型?

要检查类型是否是C#中另一种类型的子类,很容易:

typeof (SubClass).IsSubclassOf(typeof (BaseClass)); // returns true
Run Code Online (Sandbox Code Playgroud)

但是,这将失败:

typeof (BaseClass).IsSubclassOf(typeof (BaseClass)); // returns false
Run Code Online (Sandbox Code Playgroud)

有没有办法检查类型是否是基类本身的子类OR,而不使用OR运算符或使用扩展方法?

c# reflection types subclass

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

如何使用REST Web服务上载包含元数据的文件?

我有一个REST Web服务,目前公开此URL:

HTTP://服务器/数据/媒体

用户可以POST使用以下JSON:

{
    "Name": "Test",
    "Latitude": 12.59817,
    "Longitude": 52.12873
}
Run Code Online (Sandbox Code Playgroud)

为了创建新的媒体元数据.

现在我需要能够在媒体元数据的同时上传文件.解决这个问题的最佳方法是什么?我可以引入一个名为filebase64 的新属性编码文件,但我想知道是否有更好的方法.

还有multipart/form-data像HTML表单一样使用,但我正在使用REST Web服务,我想尽可能坚持使用JSON.

rest json web-services file-upload

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

为什么iframe被认为是危险的并且存在安全风险?

为什么iframe被认为是危险的并且存在安全风险?有人可以描述一个可以被恶意使用的案例吗?

html security iframe

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

如何在jQuery中记录元素触发的所有事件?

我希望当用户与之交互时,输入字段会触发所有事件.这包括以下内容:

  1. 点击它.
  2. 点击它.
  3. 插入它.
  4. 从中脱颖而出.
  5. Ctrl键盘上的+ CCtrl+ V.
  6. 右键单击 - >粘贴.
  7. 右键单击 - >剪切.
  8. 右键单击 - >复制.
  9. 从另一个应用程序拖放文本.
  10. 用Javascript修改它.
  11. 使用调试工具(如Firebug)修改它.

我想用它来显示它console.log.这可能在Javascript/jQuery中,如果是这样,我该怎么做?

javascript jquery events dom-events

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

为什么记录器建议每个类使用一个记录器?

根据NLog的文档:

大多数应用程序将为每个类使用一个记录器,其中记录器的名称与类的名称相同.

这与log4net的运行方式相同.为什么这是一个好习惯?

c# logging log4net nlog

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

在不使用while循环的情况下找到最内部的异常?

当C#抛出异常时,它可能有一个内部异常.我想要做的是获取最内部的异常,或者换句话说,没有内部异常的叶子异常.我可以在while循环中执行此操作:

while (e.InnerException != null)
{
    e = e.InnerException;
}
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有一些我可以使用的单行代替.

.net c# exception-handling exception while-loop

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

找到所需的最少数量的硬币,可以从1到99美分进行任何更改

最近我挑战我的同事写一个算法来解决这个问题:

找到所需的最少数量的硬币,可以从1到99美分进行任何更改.硬币只能是硬币(1),镍币(5),硬币(10)和四分之一(25),你必须能够使用这些硬币从1到99(以1美分为增量)制作每个值.

然而,我意识到我自己并不知道如何在不检查每种可能的硬币组合的情况下自己做到这一点.必须有一种更好的方法来解决这个问题,但我不知道这种类型的算法的通用名称会被调用,除了查看每个解决方案之外,我无法找到简化它的方法.

我想知道是否有人能指出我正确的方向,或提供更有效的算法.

algorithm performance

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

如何让.NET的Path.Combine将正斜杠转换为反斜杠?

我正在使用Path.Combine:

Path.Combine("test1/test2", "test3\\test4");
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:

test1/test2\test3\test4
Run Code Online (Sandbox Code Playgroud)

注意正斜杠如何不转换为反斜杠.我知道我可以做string.Replace改变它,但是有更好的方法吗?

.net c#

48
推荐指数
3
解决办法
5万
查看次数

TCP是在每个数据包上发送SYN/ACK还是仅在第一个连接上发送?

我有一个TCP服务器,它侦听传入的客户端,然后每秒向它发送一个数据包.我想知道,SYN/ACK数据包是否仅在初始连接时发送,所以它看起来像这样:

<client connect>
SYN
ACK
DATA
DATA
DATA
<client disconnect>
Run Code Online (Sandbox Code Playgroud)

或者它是否与每个数据包一起发送,像这样?

<client connect>
SYN
ACK
DATA

SYN
ACK
DATA

SYN
ACK
DATA
<client disconnect>
Run Code Online (Sandbox Code Playgroud)

此外,如果是第一种情况,如果您只是长时间保持连接打开,那么UDP over TCP是否有任何好处?

networking udp tcp client-server packet

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

你如何使用Razor视图引擎声明评论?

使用ASP.NET MVC的默认视图引擎,您可以声明服务器端注释,如下所示:

<%-- This is a comment --%>
Run Code Online (Sandbox Code Playgroud)

此注释仅在服务器端可见,不会发送到客户端.我如何使用Razor视图引擎做同样的事情?

c# asp.net-mvc viewengine razor asp.net-mvc-3

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