作为一个纯粹主义者,我讨厌在我的代码中传播字符串常量:
var x = element.Attribute("Key");
Run Code Online (Sandbox Code Playgroud)
我喜欢将它们存储为单个引用的常量,我喜欢我在Eric White的XmlPowerTools中首次看到的方法:
public class MyNamespace {
public static readonly XNamespace Namespace = "http://tempuri.org/schema";
public static readonly XName Key = Namespace + "Key";
}
Run Code Online (Sandbox Code Playgroud)
并使用:
var x = element.Attribute(MyNamespace.Key);
Run Code Online (Sandbox Code Playgroud)
这样做的好处是我可以static使用Visual Studio或Resharper 轻松找到对这些字段的所有引用,而不必浏览字符串"Key"的每个找到的实例,可以想象在许多不相关的地方使用它.
所以,我有一个遗留项目,我想转换为使用该XName方法,并需要找到所有出现的字符串已被使用而不是XName.我想如果我可以停止自动转换字符串XName,编译器会为我拾取所有这些事件.
我在查找中使用了正则表达式:
(Element|Attribute|Ancestor)s?\("
Run Code Online (Sandbox Code Playgroud)
拿起那些结构,但后来我发现:
if (element.Name == "key")
Run Code Online (Sandbox Code Playgroud)
并想知道我还会想念什么.
问题是,如何停止字符串的自动转换XName,或者有什么其他方法来定位应该出现的所有字符串XName?
我正在创建带有嵌入式矢量图形的Word DOCX文件.显然,DrawingML现在是插入矢量图形的首选方式.我无法弄清楚如何在绘图画布中剪切图表.它似乎在组形状内不断缩放我的形状.
是否可以在DrawingML中进行剪辑,如果是这样,是否有人有一小段代码或XML指向正确的方向?
根据Microsoft 的 Azure SQL 定价图表,100 个 eDTU 的标准弹性池的成本为 223 美元/月,而 125 个 eDTU 的高级弹性数据库池的成本为 697 美元/月。
考虑到几乎 3 倍的价格差异,标准 eDTU 和高级 eDTU 的性能有什么区别?
还是我只是为能够为单个数据库使用更多 eDTU、更大的最大数据库大小和更长的时间点恢复而支付更高的价格?
我需要在Open XML Wordprocessing文档中添加基本的密码保护。我可以使用COM接口,当我要处理大量文档时,这很慢;或者我可以将数据直接放入docx文件中,<w:settings> <w:documentProtection>该速度非常快。但是,查看对密码进行加密的要求似乎需要花费数小时的编程时间。有人编码过该算法吗?我在用C#编码。