Rin*_*lin 94 c# resharper refactoring templates
你使用什么ReSharper 4.0 C#模板?
让我们用以下格式分享这些:
可选说明
快捷方式:快捷方式适用
于: [可用性设置]
// Resharper template code snippet
// comes here
Run Code Online (Sandbox Code Playgroud)
宏属性(如果存在):
Sea*_*ron 30
如此简单,如此有用 - 一点点lambda:
捷径:x
可用:C#,其中允许表达式.
x => x.$END$
Run Code Online (Sandbox Code Playgroud)
宏:没有.
Ed *_*all 22
捷径:处置
可用于:允许类型成员声明的C#2.0+文件
public void Dispose()
{
Dispose(true);
System.GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
if (!disposed)
{
if (disposing)
{
if ($MEMBER$ != null)
{
$MEMBER$.Dispose();
$MEMBER$ = null;
}
}
disposed = true;
}
}
~$CLASS$()
{
Dispose(false);
}
private bool disposed;
Run Code Online (Sandbox Code Playgroud)
宏属性:
Rin*_*lin 14
快捷方式: ntf
可用于: C#2.0+文件,其中允许使用类型成员声明或名称空间声明
[NUnit.Framework.TestFixtureAttribute]
public sealed class $TypeToTest$Tests
{
[NUnit.Framework.TestAttribute]
public void $Test$()
{
var t = new $TypeToTest$()
$END$
}
}
Run Code Online (Sandbox Code Playgroud)
宏:
Sea*_*ron 13
如果你使用.Net 4,你可能更喜欢使用string.IsNullOrWhiteSpace().
捷径:偷偷摸摸
可用于:允许表达式的C#2.0+.
string.IsNullOrEmpty($VAR$)
Run Code Online (Sandbox Code Playgroud)
宏属性:
Rin*_*lin 11
快捷方式: ntc
可用于:允许类型成员声明的C#2.0+文件
[NUnit.Framework.TestAttribute]
public void $Test$()
{
$END$
}
Run Code Online (Sandbox Code Playgroud)
宏:
Chr*_*sma 10
为当前类型声明log4net记录器.
快捷方式:日志
可用于:允许类型成员声明的C#2.0+文件
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof($TYPE$));
Run Code Online (Sandbox Code Playgroud)
宏属性:
新的MS测试单元测试使用AAA语法和单元测试艺术中的命名约定
快捷方式:测试(或tst,或任何你想要的)
可用于:允许类型成员声明的C#2.0+文件
[TestMethod]
public void $MethodName$_$StateUnderTest$_$ExpectedBehavior$()
{
// Arrange
$END$
// Act
// Assert
}
Run Code Online (Sandbox Code Playgroud)
宏属性(如果存在):
快捷方式: ifn适用
于: C#2.0+文件
if (null == $var$)
{
$END$
}
Run Code Online (Sandbox Code Playgroud)
快捷方式: ifnn适用
于: C#2.0+文件
if (null != $var$)
{
$END$
}
Run Code Online (Sandbox Code Playgroud)
Assert.AreEqual
用于将断言添加到单元测试的简单模板
快捷方式:ae适用
于:C#2.0+文件中允许使用语句
Assert.AreEqual($expected$, $actual$);$END$
Run Code Online (Sandbox Code Playgroud)
流利版本:
Assert.That($expected$, Is.EqualTo($actual$));$END$
Run Code Online (Sandbox Code Playgroud)
(如果您厌倦了为每个构造函数不断输入长标准摘要,那么它符合StyleCop规则SA1642)
捷径: csum
适用于: C#2.0+
Initializes a new instance of the <see cref="$classname$"/> class.$END$
Run Code Online (Sandbox Code Playgroud)
宏:
使用不同的变量声明创建lambda表达式以便于嵌套.
捷径: la,lb,lc
可用于:允许表达式或查询子句的C#3.0+文件
la定义为:
x => x.$END$
Run Code Online (Sandbox Code Playgroud)
lb定义为:
y => y.$END$
Run Code Online (Sandbox Code Playgroud)
lc定义为:
z => z.$END$
Run Code Online (Sandbox Code Playgroud)
这与上面的Sean Kearon相似,除了我定义了多个lambda live模板以便于lambdas的嵌套." la "是最常用的,但在处理像这样的表达式时,其他一些很有用:
items.ForEach(x => x.Children.ForEach(y => Console.WriteLine(y.Name)));
Run Code Online (Sandbox Code Playgroud)
在控制台应用程序结束之前暂停用户输入.
捷径:暂停
可用于: C#2.0+文件,其中允许使用语句
System.Console.WriteLine("Press <ENTER> to exit...");
System.Console.ReadLine();$END$
Run Code Online (Sandbox Code Playgroud)
依赖属性生成
生成依赖项属性
快捷方式: dp适用
于: C#3.0,允许成员声明
public static readonly System.Windows.DependencyProperty $PropertyName$Property =
System.Windows.DependencyProperty.Register("$PropertyName$",
typeof ($PropertyType$),
typeof ($OwnerType$));
public $PropertyType$ $PropertyName$
{
get { return ($PropertyType$) GetValue($PropertyName$Property); }
set { SetValue($PropertyName$Property, value); }
}
$END$
Run Code Online (Sandbox Code Playgroud)
宏属性(如果存在):
PropertyName - 无宏 - #3
PropertyType - 此时预期的猜测类型 - #2
OwnerType - 包含类型名称 - 无可编辑的出现
只是添加到我的单元测试属性的快捷方式.
捷径:ee
可用于:可用于:允许类型成员声明的C#2.0+文件
[ExpectedException(typeof($TYPE$))]
Run Code Online (Sandbox Code Playgroud)
这是我的最爱,因为我经常使用它,它为我做了很多工作.
捷径:npc
可用于:允许表达式的C#2.0+.
if (value != _$LOWEREDMEMBER$)
{
_$LOWEREDMEMBER$ = value;
NotifyPropertyChanged("$MEMBER$");
}
Run Code Online (Sandbox Code Playgroud)
宏:
用法:在这样的属性设置器中:
private string _dateOfBirth;
public string DateOfBirth
{
get { return _dateOfBirth; }
set
{
npc<--tab from here
}
}
Run Code Online (Sandbox Code Playgroud)
它假定您的支持变量以"_"开头.用你使用的任何东西替换它.它还假设您有一个属性更改方法,如下所示:
private void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
Run Code Online (Sandbox Code Playgroud)
实际上,我使用的这个版本是基于lambda的('我喜欢我的lambdas!)并产生以下内容.原理与上述相同.
public decimal CircuitConductorLive
{
get { return _circuitConductorLive; }
set { Set(x => x.CircuitConductorLive, ref _circuitConductorLive, value); }
}
Run Code Online (Sandbox Code Playgroud)
就在那时,我没有使用非常优雅和有用的PostSharp来完成整个INotifyPropertyChanged的事情.
捷径: fm
可用于: C#2.0+文件,其中允许使用语句
.ForMember(d => d$property$, o => o.MapFrom(s => s$src_property$))
$END$
宏:
注意:
我把lambda"点"留下来让我可以击中.立即获得属性intellisense.需要AutoMapper(http://automapper.codeplex.com/).