问题列表 - 第1585页

在C#中,函数名前面的代字号是什么意思?

我正在看一些代码,它有这样的声明:

~ConnectionManager()
{
    Dispose(false);
}
Run Code Online (Sandbox Code Playgroud)

该类实现了IDisposable接口,但我不知道这是否是使用波浪号(〜)的一部分.

c# syntax tilde

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

如何在javascript中编写自己的确认对话框?

我想写一些像javascript中的confirm()一样的东西,但是我想自己编写它以便我可以为对话框设置外观.难以思考我将如何基本上强制javascript线程等待用户响应然后返回true或false.

javascript modal-dialog

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

为什么使用EventArgs.Empty而不是null?

我记得在多次和多个地点阅读时,在解雇典型事件时:

protected virtual OnSomethingHappened()
{
    this.SomethingHappened(this, EventArgs.Empty);
}
Run Code Online (Sandbox Code Playgroud)

如果没有有趣的事件参数,则应该是EventArgs.Empty,而不是null.

我遵循了我的代码中的指导,但我意识到我不清楚为什么这是首选技术.为什么声明的合约更喜欢EventArgs.Empty而不是null?

c# events eventargs

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

如果构造函数抛出异常,是否会调用析构函数?

寻找C#和C++的答案.(在C#中,用'finalizer'替换'析构函数')

c# c++ destructor finalizer

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

在网站上动态生成SVG图像是否明智?

我刚学习SVG,看起来很棒,但我不确定浏览器的支持 - 让人们成功解决这个问题,还是现在还为时尚早?

svg

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

我为什么要在Perl中使用Carp而不是警告?

人们不断向我提供鲤鱼的例子,而不是警告.为什么?是什么让鲤鱼比警告更好?

perl module carp

26
推荐指数
4
解决办法
9527
查看次数

有没有办法将通用列表转换为接口/基类类型列表?

我试图在他们创建的疯狂情况下向某人展示接口的用途.它们在列表中有几个不相关的对象,需要对每个对象中的两个字符串属性执行操作.我指出,如果他们将属性定义为接口的一部分,他们可以使用接口对象作为作用于它的方法参数的类型; 例如:

void PrintProperties(IEnumerable<ISpecialProperties> list)
{
    foreach (var item in list)
    {
        Console.WriteLine("{0} {1}", item.Prop1, item.Prop2);
    }
}
Run Code Online (Sandbox Code Playgroud)

这似乎一切都很好,但是需要处理的列表不是(也不应该)使用接口作为类型参数声明.但是,您似乎无法转换为其他类型参数.例如,这失败了,我无法理解为什么:

using System;
using System.Collections.Generic;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            List<Test> myList = new List<Test>();
            for (int i = 0; i < 5; i++)
            {
                myList.Add(new Test());
            }

            PrintList((IEnumerable<IDoSomething>)myList);
        }

        static void PrintList(IEnumerable<IDoSomething> list)
        {
            foreach (IDoSomething item in list)
            {
                item.DoSomething();
            }
        }
    }

    interface IDoSomething
    {
        void DoSomething();
    }

    public class Test : IDoSomething …
Run Code Online (Sandbox Code Playgroud)

.net generics covariance

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

grep:匹配文字"+"

我需要在我的sql脚本中找到"(+)"的出现位置(即Oracle外连接表达式).意识到"+","("和")"都是特殊的正则表达式字符,我试过:

grep "\(\+\)" *

现在这确实返回"(+)"的出现,但也返回其他行.(看起来在同一条线上有任何开放和关闭的parens.)回想一下parens只适用于扩展grep,我试过:

grep "(\+)" *
grep "(\\+)" *

这两个都只返回包含"()"的行.因此,假设"+"无法转义,我尝试了一个老技巧:

grep "([+])" *

这样可行.我用非正则表达式工具交叉检查结果.

问题:有人可以用"+"字符解释究竟发生了什么吗?在"(+)"上匹配的方式是否较少?

(我正在使用cygwin grep命令.)

编辑:谢谢你的解决方案.- 现在我看到,根据Bruno引用的GNU grep手册," \+"在基本表达式中使用时,"+"表示扩展含义,因此匹配一个或多个"("s后跟一个") ".在我的文件中,总是"()".

regex grep cygwin

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

清理/清理xpath属性

我需要为元素属性动态构造XPath查询,其中属性值由用户提供.我不确定如何清理或清理此值以防止XPath等同于SQL注入攻击.例如(在PHP中):

<?php
function xPathQuery($attr) {
    $xml = simplexml_load_file('example.xml');
    return $xml->xpath("//myElement[@content='{$attr}']");
}

xPathQuery('This should work fine');
# //myElement[@content='This should work fine']

xPathQuery('As should "this"');
# //myElement[@content='As should "this"']

xPathQuery('This\'ll cause problems');
# //myElement[@content='This'll cause problems']

xPathQuery('\']/../privateElement[@content=\'private data');
# //myElement[@content='']/../privateElement[@content='private data']
Run Code Online (Sandbox Code Playgroud)

特别是最后一个让人想起昔日的SQL注入攻击.

现在,我知道会有包含单引号和包含双引号的属性的属性.由于这些是作为函数的参数提供的,因此对这些函数进行消毒的理想方法是什么?

php xml xpath code-injection

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

发音密码?

用于生成英语可发送密码的模块或软件解决方案?

是否有其他语言的类似模块?

-亚当

passwords algorithm

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