小编Jam*_*lak的帖子

我可以在Emacs中搜索标签的ido-mode风格完成吗?

是否可以使用ido-mode完成来查找TAGS文件中的定义?我怀疑ido-completed-read是答案的一部分.这是我的非工作代码,它显示了一个未填充的ido模式迷你缓冲区:

(defun ido-choose-from-tags ()
  "Use ido to select tags "
  (interactive)
    (etags-tags-apropos
     (ido-completing-read "Tags: "  nil t)))
Run Code Online (Sandbox Code Playgroud)

tags emacs

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

如何使用Cx k来杀死在服务器模式下打开的Emacs缓冲区?

我使用Windows批处理文件使用emacsclientw.exe在已经运行的Emacs实例中打开文件.但是,以这种方式打开的任何文件都是在服务器模式下打开的,这意味着我必须使用Cx#来杀死它,而不是通常的Cx k.我该如何改变这种行为?

emacs

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

加载XDocument时可以使用预定义的名称空间吗?

我经常必须处理包含命名空间元素但不声明命名空间的XML文档。例如:

<root>
  <a:element/>
</root>
Run Code Online (Sandbox Code Playgroud)

因为从未为前缀“ a”分配名称空间URI,所以文档无效。当我使用以下代码加载这样的XML文档时:

using (StreamReader reader = new StreamReader(new FileStream(inputFileName,    
       FileMode.Open, FileAccess.Read, FileShare.ReadWrite))) {
            doc = XDocument.Load(reader, LoadOptions.PreserveWhitespace);
}
Run Code Online (Sandbox Code Playgroud)

它抛出一个异常(正确地),指出该文档包含未声明的名称空间且格式不正确。

因此,我可以预定义默认的名称空间前缀->名称空间URI对,以使解析器可以使用吗?XMLNamespaceManager看起来很有前途,但是不知道如何将其应用于这种情况(或者如果可以的话)。

.net c# xml linq xml-namespaces

5
推荐指数
1
解决办法
4978
查看次数

我可以将BaseUri分配给XDocument吗?

当我将XML文档从磁盘加载到XDocument时,该XDocument具有一个仅包含原始XML文档在磁盘上的位置的就绪属性BaseUri.换一种说法,

XDocument doc = XDocument.Load(@"c:\temp\doc.xml");
Console.Out.WriteLine(doc.BaseUri);
// Outputs "file:///c:/temp/doc.xml"
Run Code Online (Sandbox Code Playgroud)

如果我从头开始创建一个新的XDocument,它没有BaseUri.例如:

XDocument doc = new XDocument(new XElement("test"));
Console.Out.WriteLine(doc.BaseUri);
// Outputs nothing
Run Code Online (Sandbox Code Playgroud)

我可以将这个新的XDocument分配给BaseUri吗?我希望能够生成新文档,为它们分配名称,并轻松地将这些名称与它们一起传递.

c# xml linq-to-xml

5
推荐指数
1
解决办法
2863
查看次数

如何使用自定义XmlResolver来解析*DTD中的公共标识符*?

我编写了一个扩展XmlUrlResolver的类来解析XML文档中对公共标识符的引用.例如,当XML文档以以下内容开头时:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE chapter PUBLIC "-//Custom//EN" "custom.dtd">
Run Code Online (Sandbox Code Playgroud)

公共标识符" - // Custom/EN"将传递给relativeURI我的override ResolveUri()方法的参数,并解析为磁盘上的实际DTD位置.这工作正常.

当DTD本身内存在实体引用时,会出现此问题.例如:

<!ENTITY % tablemodel
  PUBLIC "-//OASIS//DTD XML Exchange Table Model 19990315//EN"
  "soextblx.dtd">
Run Code Online (Sandbox Code Playgroud)

在这种情况下,系统标识符"soextblx.dtd"被传递给ResolveUri()公共标识符" - // OASIS // DTD XML Exchange Table Model 19990315 // EN".

有没有办法实现这个目标?覆盖GetEntity()似乎也不起作用,因为它也传递了系统标识符.

c# xml validation dtd

5
推荐指数
1
解决办法
2587
查看次数

我可以在 Linq-to-SQL 的 .OrderBy() 中使用 IComparer 吗?

这个问题(LINQ and a natural sort order\xe2\x80\xa6)讨论如何使用 IComparer 在 Linq 中实现自然排序。我过去曾成功地将其与 IEnumerables 一起使用,但我无法使其在 Linq-to-SQL 表达式中工作。这是因为 Linq-to-SQL 不支持采用 IComparer 的 .OrderBy() 的特定重载吗?

\n\n

如果确实如此,是否有任何实际的解决方法?

\n

c# linq linq-to-sql

5
推荐指数
1
解决办法
1173
查看次数

如何在ASP.NET MVC中基于每个用户删除输出缓存?

我正在使用VaryByCustom每个浏览器和每个用户创建一个输出缓存:

[OutputCache(Duration = 6000, VaryByParam = "*", VaryByCustom="browser;userName")]
Run Code Online (Sandbox Code Playgroud)

(我已经覆盖GetVaryByCustomString()了这项工作.)

我需要能够删除单个用户的输出缓存,如果可能的话,不会使不同用户的输出缓存失效.我已经读过HttpResponse.RemoveOutputCacheItem(),但这可以通过删除基于路径的输出缓存来实现.有没有办法根据VaryByCustom字符串执行此操作?

c# asp.net-mvc caching asp.net-mvc-3

5
推荐指数
1
解决办法
1540
查看次数

无法使用pinvoke将WM_CLOSE发送到Windows资源管理器窗口

我有一个C#应用程序,它使用SendMessage pinvoke方法向应用程序外的各个窗口发送"关闭窗口"消息(WM_CLOSE/16).这很有效,除非有问题的窗口是Windows资源管理器窗口.我没有异常,但窗口没有关闭.

这是签名:

    [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
    internal static extern IntPtr SendMessage(HandleRef hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
Run Code Online (Sandbox Code Playgroud)

我需要将不同的消息发送到Windows资源管理器窗口吗?或者另一种方法来实现这一目标?

c# pinvoke

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

我应该在简单的控制台应用程序中使用C#命名空间吗?

我是C#的新手,对使用命名空间的最佳实践感到好奇.

我有一个包含单个类库项目的解决方案,以及几个小型控制台应用程序项目.所有控制台应用程序项目都是解析命令行参数,并在库项目中调用不同的类.库项目使用标准的CompanyName.Tool约定.

我的问题是,既然给定控制台应用程序的唯一目的是库项目中的一个类,并且永远不会从另一个项目或类调用它,我是否需要将它放在命名空间中?这似乎没必要.

c# namespaces projects-and-solutions

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

我可以将 XText 对象更改为包含字符引用和已解析实体的字符串吗?

给定这个 XML:

<element>Circles &amp; boxes</element>
Run Code Online (Sandbox Code Playgroud)

我想要做的是将元素的字符串值存储为字符串,并将所有字符引用和实体解析为其等效的 unicode 字符。因此,对于这个元素,我想要“圆圈和盒子”。

当我这样做时(文本是代表文本节点的 XText 对象):

string textvalue = text.ToString(SaveOptions.DisableFormatting);
Run Code Online (Sandbox Code Playgroud)

我得到“圆圈和方框”,这不是我想要的。

这可能吗?

.net c# xml linq linq-to-xml

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

使用Linq过滤System.Windows.Forms.Keys的可能值

我正在使用WPF创建一个选项对话框,列出可能的键,以便用户可以分配程序的热键.我试图将System.Windows.Forms.Keys枚举的所有可能值过滤到AZ和F1-F12,然后将该列表绑定到ComboBox.

到目前为止,这是我的代码:

Regex filter = new Regex("(^[A-Z]$)|(^F[0-9]{1,2}$)");
IEnumerable<Key> keyList = from x in (IEnumerable<Key>)Enum.GetValues(typeof(Keys)) 
                           where filter.Match(x.ToString()).Success
                           select x;
keys.DataContext = keyList;
Run Code Online (Sandbox Code Playgroud)

执行此操作后,keyList包含字母"A"两次,并且缺少字母"P"到"U".我不知道为什么.

如果有更好的方法,我也对替代方法感兴趣.

c# linq wpf keyboard-shortcuts

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