问题列表 - 第1534页

如何确定是否在VB6中初始化了一个数组?

将未扩展的数组传递给VB6的Ubound函数将导致错误,因此我想在检查其上限之前检查它是否已被标注尺寸.我该怎么做呢?

arrays vb6

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

在C#中取消订阅匿名方法

是否可以从事件中取消订阅匿名方法?

如果我订阅这样的事件:

void MyMethod()
{
    Console.WriteLine("I did it!");
}

MyEvent += MyMethod;
Run Code Online (Sandbox Code Playgroud)

我可以这样取消订阅:

MyEvent -= MyMethod;
Run Code Online (Sandbox Code Playgroud)

但是如果我使用匿名方法订阅:

MyEvent += delegate(){Console.WriteLine("I did it!");};
Run Code Online (Sandbox Code Playgroud)

是否有可能取消订阅这种匿名方法?如果是这样,怎么样?

c# delegates anonymous-methods

214
推荐指数
7
解决办法
7万
查看次数

JavaScript中的跨浏览器XPath实现

我正在寻找一个XPath库来查询FF,IE,Opera和Safari中的XML文档......但是找不到它.你看过了吗?

javascript xml xpath

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

Mono .NET是否支持并编译C++/CLI?

Mono .NET是否支持并编译C++/CLI?

如果没有,你知道他们是否有任何支持它的计划?

.net mono c++-cli

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

在查询Linq to XML时如何处理任意名称空间?

我有一个项目,我正在采取一些特别丑陋的"实时"HTML,并使用HTML Agility Pack将其强制转换为正式的XML DOM.我希望能够做的是用Linq对XML进行查询,以便我可以清除我需要的位.我正在使用此处描述的方法将HtmlDocument解析为XDocument,但在尝试查询时我不知道如何处理命名空间.在一个特定的文档中,原始HTML实际上是格式不正确的XHTML,带有以下标记:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
Run Code Online (Sandbox Code Playgroud)

当试图从这个文档中查询时,似乎命名空间属性阻止我做类似的事情:

var x = xDoc.Descendants("div");
// returns null
Run Code Online (Sandbox Code Playgroud)

显然,对于那些"div"标签,只有LocalName是"div",但正确的标签名称是名称空间加上"div".我试图对XML命名空间的问题进行一些研究,似乎我可以通过这种方式来绕过命名空间:

var x = 
    (from x in xDoc.Descendants()
     where x.Name.LocalName == "div"
     select x);
// works
Run Code Online (Sandbox Code Playgroud)

但是,这似乎是一个相当hacky的解决方案,并没有正确解决名称空间问题.据我所知,一个正确的XML文档可以包含多个名称空间,因此处理它的正确方法应该是解析我正在查询的名称空间.还有其他人不得不这样做吗?我只是想让它变得复杂吗?我知道我可以通过坚持使用HtmlDocument并使用XPath查询来避免所有这些,但如果可能的话,我宁愿坚持我所知道的(Linq),我也更愿意知道我没有为更进一步的命名空间做好准备 - 相关问题在路上.

在这种情况下处理命名空间的正确方法是什么?

html xml linq namespaces linq-to-xml

19
推荐指数
1
解决办法
5092
查看次数

字符串属性中的换行符

当将文本设置为属性时,如何为文本添加换行符,即:

<TextBlock Text="Stuff on line1 \n Stuff on line2" />
Run Code Online (Sandbox Code Playgroud)

将其分解为爆炸格式不适合我的特定情况.我需要的是模仿以下内容的一些方法:

<TextBlock>
  <TextBlock.Text>
    Stuff on line1 <LineBreak/>
    Stuff on line2
  </TextBlock.Text>
<TextBlock/>
Run Code Online (Sandbox Code Playgroud)

xaml

275
推荐指数
9
解决办法
15万
查看次数

使用Java中的套接字的HTTP 1.1持久连接

假设我有一个java程序,它使用HTTP 1.1在服务器上发出HTTP请求,并且不关闭连接.我发出一个请求,并读取从绑定到套接字的输入流返回的所有数据.但是,在发出第二个请求时,我没有得到服务器的响应(或者流有问题 - 它不再提供任何输入).如果我按顺序发出请求(请求,请求,读取)它工作正常,但(请求,读取,请求,读取)不会.

有人可以了解为什么会发生这种情况吗?(代码片段如下).无论我做什么,第二个读取循环的isr_reader.read()只返回-1.

try{
        connection = new Socket("SomeServer", port);
        con_out = connection.getOutputStream();
        con_in  = connection.getInputStream();
        PrintWriter out_writer = new PrintWriter(con_out, false);
        out_writer.print("GET http://somesite HTTP/1.1\r\n");
        out_writer.print("Host: thehost\r\n");
        //out_writer.print("Content-Length: 0\r\n");
        out_writer.print("\r\n");
        out_writer.flush();

        // If we were not interpreting this data as a character stream, we might need to adjust byte ordering here.
        InputStreamReader isr_reader = new InputStreamReader(con_in);
        char[] streamBuf = new char[8192];
        int amountRead;
        StringBuilder receivedData = new StringBuilder();
        while((amountRead = isr_reader.read(streamBuf)) > 0){
            receivedData.append(streamBuf, 0, amountRead);
        }

// Response …
Run Code Online (Sandbox Code Playgroud)

java sockets http

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

ASP.NET:如何在DataBind期间设置Control的css类?

使用asp:Repeater生成表行:

<asp:repeater ID="announcementsRepeater" OnItemDataBound="announcementsRepeater_ItemDataBound" runat="Server">
   <itemtemplate>
      <tr id="announcementRow" class="announcementItem" runat="server">...</tr>
   </itemtemplate>
</asp:repeater>
Run Code Online (Sandbox Code Playgroud)

现在在数据绑定中我想用不同的css类标记"未读"的公告,这样网络人就可以执行他想要区分读取和未读公告的任何样式:

protected void announcementsRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
   if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType != ListItemType.AlternatingItem)
      return;

   // get the associated data item
   Announcement announcement = (Announcement)e.Item.DataItem;

   WebControl row = (WebControl)e.Item.FindControl("announcementRow");
      if (row != null)
         row.CssClass = row.CssClass + " announcementItemUnread";
}
Run Code Online (Sandbox Code Playgroud)

除了演员在运行时失败:

System.InvalidCastException occurred
  Message="Unable to cast object of type 'System.Web.UI.HtmlControls.HtmlTableRow' to type 'System.Web.UI.WebControls.WebControl'."
Run Code Online (Sandbox Code Playgroud)

事实证明,HtmlTableRow有一个不同的父母heirarchy比WebControl:

HtmlTableRow
   : HtmlContainerControl
      : HtmlControl
         : System.Web.UI.Control
Run Code Online (Sandbox Code Playgroud)

这最终是WebControl的来源 …

css asp.net

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

如何改变NSProgressIndicator的高度?

默认情况下,可可进度条略显胖,我想要一些更小的东西,比如在Finder复制对话框中看到的进度条.但是,Interface Builder将NSProgressIndicator控制高度锁定为20像素,并且我的程序化尝试缩小功能无法正常工作,因为调用

[progressBar setControlSize:NSMiniControlSize];
Run Code Online (Sandbox Code Playgroud)

[progressBar setControlSize:NSSmallControlSize];
Run Code Online (Sandbox Code Playgroud)

awakeFromNib什么都不做,并且NSProgressIndicatorThickness在头文件中看到的暗示看起来似乎没有插入我能看到的任何方法.

有什么诀窍?

cocoa

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

为什么在迭代命令输出时批处理文件FOR会失败?

我有一个批处理文件,使用这个习惯用法(很多次)将注册表值读入环境变量:

FOR /F "tokens=2* delims=  " %%A IN ('REG QUERY "HKLM\SOFTWARE\Path\To\Key" /v ValueName') DO SET MyVariable=%%B
Run Code Online (Sandbox Code Playgroud)

(后面有一个制表符delims=)

这在数千个客户的计算机上运行良好.但是在一个客户的计算机上(运行Windows Server 2003,启用了命令扩展),
它失败了,因为它'REG QUERY "HKLM\SOFTWARE\Path\To\Key" /v ValueName'未被识别为内部或外部命令,可操作程序或批处理文件.reg query单独运行" "命令工作正常.Reg.exe存在于C:\Windows\System32.

通过将代码更改为,我能够解决问题

REG QUERY "HKLM\SOFTWARE\Path\To\Key" /v ValueName > temp.txt
FOR /F "tokens=2* delims=  " %%A IN (temp.txt) DO SET MyVariable=%%B
Run Code Online (Sandbox Code Playgroud)

这让客户启动并运行,但我想了解问题发生的原因,以便将来可以避免.

稍微偏离主要主题 - 将注册表值(字符串或DWORD)添加到环境变量中的更直接方法也很有用.

windows cmd batch-file

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