小编Met*_*urf的帖子

如何在移动/更新命名空间声明时阻止ReSharper删除未使用的Using语句?

使用ReSharper移动/更新名称空间声明时,有没有办法阻止ReSharper删除未使用的Using语句?

换句话说,如果我有一个类,如:

using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.Text;

namespace Foo.Bar
{
    class MyClass
    {
        List<string> Names { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想使用ReSharper将它移动到Foo.Bar.Utilities命名空间,Resharper将删除所有未使用的Using语句,并留下我:

using System.Collections.Generic;

namespace Foo.Bar.Utilities
{
    class MyClass
    {
        List<string> Names { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我不希望ReSharper在移动命名空间声明时触摸我的Using语句.我希望结果如下:

using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.Text;

namespace Foo.Bar.Utilities
{
    class MyClass
    {
        List<string> Names { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# resharper namespaces using-statement visual-studio-2010

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

ReSharper使用属性设置XML注释中的间距

我在R#社区论坛上问了同样的问题 ; 几天没有听到任何消息.以为我会重新发布SO.

对于C#的等号,XML注释中的间距的R#6设置在哪里?我已经浏览了R#设置中可以找到的所有代码格式化选项,但是每当我使用R#代码清理工具时,似乎都没有影响下面描述的间距问题.

在R#代码格式化之前:

/// <summary>
///  Writes trace information...
/// </summary>
/// <param name="eventCache">A <see cref="T:System.Diagnostics.TraceEventCache" /> object containing....</param>
Run Code Online (Sandbox Code Playgroud)


在R#代码清理格式化之后:

/// <summary>
///   Writes trace information...
/// </summary>
/// <param name = "eventCache">A <see cref = "T:System.Diagnostics.TraceEventCache" /> object containing....</param>
Run Code Online (Sandbox Code Playgroud)

注意'name'和'eventCache'之间等号周围的间距; 在'cref'和'T:System ......'之间

c# resharper code-comments visual-studio

10
推荐指数
2
解决办法
2335
查看次数

如何使用XmlDocument/XmlDeclaration添加自定义XmlDeclaration?

我想在c#.net 2或3中使用XmlDocument/XmlDeclaration类时创建自定义XmlDeclaration.

这是我想要的输出(这是第三方应用程序的预期输出):

<?xml version="1.0" encoding="ISO-8859-1" ?>
<?MyCustomNameHere attribute1="val1" attribute2="val2" ?>
[ ...more xml... ]
Run Code Online (Sandbox Code Playgroud)

使用XmlDocument/XmlDeclaration类,看起来我只能创建一个带有一组已定义参数的XmlDeclaration:

XmlDocument doc = new XmlDocument();
XmlDeclaration declaration = doc.CreateXmlDeclaration("1.0", "ISO-8859-1", null);
doc.AppendChild(declaration);
Run Code Online (Sandbox Code Playgroud)

是否有一个除了XmlDocument/XmlDeclaration之外的类,我应该看一下创建自定义XmlDeclaration?或者有没有办法使用XmlDocument/XmlDeclaration类本身?

.net c# xml xmldocument

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

用另一个分支完全替换分支

我有 3 个分支:developmentqastagingdevelopment我在和中都有几乎相同的代码,因此从到qa进行公关不会产生太多更改(和/或冲突)。developmentqa

但现在我把所有的东西都从 搬到qastaging。而且qa代码实际上与 完全不同并且是新的staging,那么最好的选择是什么?我搜索并找到了另一个答案

git checkout qa
git merge -s ours staging
git checkout staging
git merge qa
Run Code Online (Sandbox Code Playgroud)

这对我的情况来说是个好主意吗?提前致谢!

编辑:我不想丢失暂存分支的所有提交。

git

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

如何在SQLite中默认启用外键级联删除?

SQLite v3.7.5

有没有一种方法,使SQLite的外键cascade delete默认启用?给出以下示例:

CREATE TABLE [Parent] (
[ParentId] INTEGER  NOT NULL PRIMARY KEY AUTOINCREMENT,
[Name] VARCHAR(50)  UNIQUE NOT NULL
);

CREATE TABLE [Child] (
[ChildId] INTEGER  PRIMARY KEY AUTOINCREMENT NOT NULL,
[ParentId] INTEGER  NOT NULL,
[Name] VARCHAR(50)  NOT NULL,
FOREIGN KEY(ChildId) REFERENCES Child(ParentId) ON DELETE CASCADE
);
Run Code Online (Sandbox Code Playgroud)

我能够启用级联删除的唯一方法是PRAGMA foreign_keys = true在事务之前执行命令:

using( var conn = new SQLiteConnection( _conn ) )
{
    conn.Open();
    var pragma = new SQLiteCommand( "PRAGMA foreign_keys = true;", conn ); …
Run Code Online (Sandbox Code Playgroud)

c# sqlite foreign-keys system.data.sqlite

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

如何在运行时将文件注入EXE并在程序运行期间引用该文件?

我希望用户从我的网站下载exe,其中(同步下载时)将一个XML文件注入到该应用程序中.此XML文件包含公钥和签名.

如何在下载之前注入文件并在执行期间稍后引用它?

理想情况下,我不会使用shell来注入文件,而是使用本机.NET API.

c# deployment user-experience code-injection dll-injection

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

Initialize Dictionary <string,List <string >>

我想知道如何声明/初始化字典?下面给出了错误.

Dictionary<string, List<string>> myD = new Dictionary<string, List<string>>()
{
  {"tab1", MyList }
};

List <string> MyList = new List<string>() { "1" };
Run Code Online (Sandbox Code Playgroud)

错误是:字段初始值设定项不能引用非静态字段,方法或属性MyList.它不是字典前面或后面的List声明.

c# dictionary

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

遍历基类和继承类的所有实例

我有一个名为基础类CollidableObject和一个名为夫妇继承类的Player,Enemy,InertObject,等.

我试图找到一种简单的方法来遍历它们的所有实例,所以我最初创建了一个类型列表CollidableObject并将所有继承类的实例放在那里.

问题在于,由于多态性的性质,当我做以下事情时

foreach (CollidableObject CollidableObject in collidableObjects)
{
  if (CollidableObject is Player)
  {
    CollidableObject.Draw(spriteBatch, testPlayerTexture); 
  }
  // Then the same prodedure for each type of CollidableObject. 
  // Might change to switch or something.                              
}
Run Code Online (Sandbox Code Playgroud)

它调用的draw方法是来自CollidbaleObjectbase 的泛型Draw方法,而不是来自Player/Enemy/inertObject类的重写/新方法.

我该如何解决这个问题.有没有办法迭代同一个树中的对象集合,但保持它们的继承类型?

c# polymorphism inheritance draw

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

如何让TypeScript自动推断出`yield`调用的结果类型?

在以下代码示例中:

function* gen() {
    let v = yield Promise.resolve(0);
    return v;
}
Run Code Online (Sandbox Code Playgroud)

v推断的类型是any.我想知道是否有办法让它number根据情境线索推断出不同的类型(比方说).

我知道在这个特定场景中我可以使用async/ await而不是,但我想知道一般情况(当不使用promises时).

yield type-inference generator typescript

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

为什么 Javascript 属性查询选择器在缺少结束括号时有效?

在查看了 MDN 的Document.querySelector()文档(该文档指向用于定义属性选择器的 MDN CSS 属性选择器文档(该文档指向 W3C 的属性选择器文档)之后),我无法理解为什么属性选择器缺少结尾括号有效。

省略结束括号的有效属性查询选择器的一些示例:

// This question's title
const t1 = document.querySelector("[id='question-header'")
console.log("t1", t1)

// Even works when using a case insensitve query
const t2 = document.querySelector("[id='question-HEADER' i")
console.log("t2", t2)
Run Code Online (Sandbox Code Playgroud)

这是一个可运行的示例:

const t1 = document.querySelector("[id='content'")
console.log("t1", t1)

// Even works when using a case insensitve query
const t2 = document.querySelector("[id='CONTENT' i")
console.log("t2", t2)
Run Code Online (Sandbox Code Playgroud)
<div id="content">Javascript attribute query selector</div>
Run Code Online (Sandbox Code Playgroud)

这是因为 JS 允许足够接近的语法吗?或者?

编辑我确实发现了另一个问题Cheerio attributeStartsWith selected,它缺少结束括号,是问题的根本原因。然而,正如答案之一所指出的,JQuery 允许缺少结束括号,而 Cheerio 失败了。 …

javascript

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