预定义的 C# 代码片段模板
本主题列出了 ReSharper 2025.2 中所有预定义的 C# 代码片段模板。 有关代码模板的更多信息,请参阅 使用实时模板创建源代码。
模板 | 详细信息 |
|---|---|
| Unity Profiler 结束采样 作用域 C# 2.0+ 语句,Unity C# 文件 主体 UnityEngine.Profiling.Profiler.EndSample();
|
| Unity CreateAssetMenu 特性 作用域 C# 2.0+ 类型和命名空间,Unity C# 文件 主体 [UnityEngine.CreateAssetMenu(fileName = $FILENAME$, menuName = $MENUNAME$, order = $ORDER$)]
参数
|
| Unity 日志警告 作用域 C# 2.0+ 语句,Unity C# 文件 主体 UnityEngine.Debug.LogWarning($VAR$);
参数
|
| DOTS Baker 作用域 C# 2.0+ 类型成员,C# 2.0+ 类型和命名空间,Unity C# 文件,Unity DOTS 项目 主体 private class $BAKERNAME$ : Unity.Entities.Baker<$AUTHORINGTYPE$>
{
public override void Bake($AUTHORINGTYPE$ authoring)
{
}
}
参数
|
| Unity 日志异常 作用域 C# 2.0+ 语句,Unity C# 文件 主体 UnityEngine.Debug.LogException($VAR$);
参数
|
| DOTS IComponentData 作用域 C# 2.0+ 类型成员,C# 2.0+ 类型和命名空间,Unity DOTS 项目 主体 public struct $COMPONENTNAME$ : Unity.Entities.IComponentData
{
$END$
}
参数
|
| Unity 菜单条目处理程序 作用域 C# 2.0+ 类型成员,Unity C# 文件 主体 [UnityEditor.MenuItem($MENUNAME$)]
public static void $NAME$()
{
$END$
}
参数
|
| Unity 序列化字段 作用域 C# 2.0+ 类型成员,Unity 可序列化类型成员 主体 [UnityEngine.SerializeField] private $TYPE$ $NAME$;$END$
参数
|
| Unity 日志错误 作用域 C# 2.0+ 语句,Unity C# 文件 主体 UnityEngine.Debug.LogError($VAR$);
参数
|
| Unity 日志对象/消息 作用域 C# 2.0+ 语句,Unity C# 文件 主体 UnityEngine.Debug.Log($VAR$);
参数
|
| Unity RequireComponent 特性 作用域 C# 2.0+ 类型和命名空间,Unity C# 文件 主体 [UnityEngine.RequireComponent(typeof($TYPE$))]
参数
|
| 具有序列化支持字段的 Unity 属性 作用域 C# 2.0+ 类型成员,Unity 可序列化类型成员 主体 [UnityEngine.SerializeField] private $type$ $fieldName$;
public $type$ $propertyName$ { get { return this.$fieldName$; } }$END$
参数
|
| DOTS IJob Entity 作用域 C# 2.0+ 类型成员,C# 2.0+ 类型和命名空间,Unity DOTS 项目 主体 [Unity.Burst.BurstCompile]
public partial struct $JOBNAME$Job : Unity.Entities.IJobEntity
{
public void Execute($END$)
{
}
}
参数
|
| Unity Profiler 开始采样 作用域 C# 2.0+ 语句,Unity C# 文件 主体 UnityEngine.Profiling.Profiler.BeginSample("$VAR$");
参数
|
| Unity 协程方法 作用域 C# 2.0+ 类型成员,Unity C# 文件 主体 private System.Collections.IEnumerator $NAME$()
{
$END$yield break;
}
参数
|
| Unity 日志变量 作用域 C# 2.0+ 语句,Unity C# 文件 主体 UnityEngine.Debug.Log("$VAR$ = " + $VAR$);
参数
|
| 当前文件上下文 作用域 全局 主体 $CTX$
参数
此模板可能有用:
展开前 ![]() 展开选项 ![]() |
| 插入新 GUID 作用域 全局 主体 $GUID$
参数
|
| 语言集成查询中的 Join 子句 作用域 C# 2.0+ 查询 主体 join $NAME$ in $COL$ on $EXPR1$ equals $EXPR2$ $END$
参数
展开前 ![]() 展开后 ![]() |
| 语言集成查询 作用域 C# 3.0+ 表达式,C# 3.0+ 查询 主体 from $VAR$ in $COLLECTION$ $END$
参数
展开前 ![]() 展开后 ![]() |
| foreach 块 范围 C# 2.0+ 语句 主体 foreach ($TYPE$ $VARIABLE$ in $COLLECTION$)
{
$SELECTION$$END$
}
参数
展开前 ![]() 展开后 ![]() 在指定参数后,光标会定位到循环体中,方便继续编写代码。 |
| 迭代 IList<T> 范围 C# 2.0+ 语句 主体 for (int $INDEX$ = 0; $INDEX$ < $LIST$.Count; $INDEX$++)
{
$TYPE$ $ITEM$ = $LIST$[$INDEX$];
$END$
}
参数
展开前 ![]() 展开后 ![]() 该模板生成一个 在指定参数后,光标会定位到循环体中,方便继续编写代码。 |
| 迭代数组 范围 C# 2.0+ 语句 主体 for (int $INDEX$ = 0; $INDEX$ < $ARRAY$.Length; $INDEX$++)
{
$TYPE$ $VAR$ = $ARRAY$[$INDEX$];
$END$
}
参数
展开前 ![]() 展开后 ![]() 在指定参数后,光标会定位到循环体中,方便继续编写代码。 |
| 以相反顺序迭代数组 范围 C# 2.0+ 语句 主体 for (int $INDEX$ = $ARRAY$.Length - 1; $INDEX$ >= 0; $INDEX$--)
{
$TYPE$ $VAR$ = $ARRAY$[$INDEX$];
$END$
}
参数
展开前 ![]() 展开后 ![]() 该模板生成一个 在指定参数后,光标会定位到循环体中,方便继续编写代码。 |
| 简单 "for" 循环 范围 C# 2.0+ 语句 主体 for (int $INDEX$ = 0; $INDEX$ < $UPPER$; $INDEX$++)
{
$SELECTION$$END$
}
参数
展开前 ![]() 展开后 ![]() 在指定参数后,光标会定位到循环体中,方便继续编写代码。 |
| 安全地转换变量 范围 C# 2.0+ 语句 主体 $VARTYPE$ $VAR$ = $VAR1$ as $TYPE$;
if ($VAR$ != null)
{
$END$
}
参数
展开前 ![]() 展开后 ![]() |
| "Main" 方法声明 作用域 C# 2.0+ 类型成员 主体 public static void Main( string[] args )
{
$END$
}
参数
展开前 ![]() 展开后 ![]() |
| 打印变量的值 范围 C# 2.0+ 语句 主体 System.Console.Out.WriteLine("$EXPR$ = {0}", $EXPR$);
参数
展开前 ![]() 展开后 ![]() ReSharper 会自动建议当前作用域中所有变量的列表,并选择最近声明的一个。 描述性文本字符串(如上例中的 |
| 打印字符串 范围 C# 2.0+ 语句 主体 System.Console.Out.WriteLine("$END$");
参数
展开前 ![]() 展开后 |
| 创建断言 范围 C# 2.0+ 语句 主体 System.Diagnostics.Debug.Assert($END$);
参数
展开前 展开后 此模板调用 |
| 断言表达式非 null 范围 C# 2.0+ 语句 主体 System.Diagnostics.Debug.Assert($EXPR$ != null, "$MESSAGE$");
参数
展开前 ![]() 展开后 ![]() 该模板插入 |
| throw new 范围 C# 2.0+ 语句 主体 throw new
展开前 ![]() 展开后 |
| public const int 作用域 C# 2.0+ 类型成员 主体 public const int
展开前 ![]() 展开后 |
| public const string 作用域 C# 2.0+ 类型成员 主体 public const string
展开前 ![]() 展开后 |
| public static readonly 作用域 C# 2.0+ 类型成员 主体 public static readonly
展开前 ![]() 展开后 ![]() |
| 属性 作用域 C# 2.0+ 类型成员 主体 public $TYPE$ $NAME$ { get; set; }
参数
展开前 ![]() 展开后 |
| 创建空数组 范围 C# 2.0+ 语句 主体 $TYPE$[] $NAME$ = new $TYPE$[] {};
参数
展开前 ![]() 展开后 |
| 范围 C# 2.0+,除字符串外,行首 主体 #if $expression$
$SELECTION$$END$
#endif
参数
|
| 范围 C# 2.0+,除字符串外,行首 主体 #region $name$
$SELECTION$$END$
#endregion
参数
|
| 作用域 C# 2.0+ 类型成员,C# 2.0+ 类型和命名空间 主体 enum $name$
{
$END$
}
参数
|
| else 语句 范围 C# 2.0+ 语句 主体 else
{
$END$
}
参数
|
| 析构函数 作用域 C# 2.0+ 类型成员 主体 ~$classname$()
{
$END$
}
参数
|
| 构造函数 作用域 C# 2.0+ 类型成员 主体 public $classname$ ()
{
$END$
}
参数
|
| Console.WriteLine 范围 C# 2.0+ 语句 主体 System.Console.WriteLine($END$);
参数
|
| 作用域 C# 2.0+ 类型成员,C# 2.0+ 类型和命名空间 主体 class $name$
{
$END$
}
参数
|
| 作用域 C# 2.0+ 类型成员,C# 2.0+ 类型和命名空间 主体 public class $newException$Exception : System.Exception
{
public $newException$Exception() { }
public $newException$Exception( string message ) : base( message ) { }
public $newException$Exception( string message, System.Exception inner ) : base( message, inner ) { }
}
参数
|
| 作用域 C# 2.0+ 类型成员,C# 2.0+ 类型和命名空间 主体 struct $name$
{
$END$
}
参数
|
| 反转 'for' 循环 范围 C# 2.0+ 语句 主体 for (int $index$ = $max$ - 1; $index$ >= 0 ; $index$--)
{
$END$
}
参数
|
| 范围 C# 2.0+ 类型和命名空间 主体 namespace $name$
{
$END$$SELECTION$
}
参数
|
| 作用域 C# 2.0+ 类型成员,C# 2.0+ 类型和命名空间 主体 interface I$name$
{
$END$
}
参数
|
| 'int Main' 方法 作用域 C# 2.0+ 类型成员 主体 static int Main(string[] args)
{
$END$
return 0;
}
参数
|
| 作用域 C# 2.0+ 类型成员 主体 $access$ $type$ this[$indextype$ index]
{
get {$END$ /* return the specified index here */ }
set { /* set the specified index to value here */ }
}
参数
|
| 'void Main' 方法 作用域 C# 2.0+ 类型成员 主体 static void Main(string[] args)
{
$END$
}
参数
|
| unsafe 语句 范围 C# 2.0+ 语句 主体 unsafe
{
$END$
}
参数
|
| unchecked 块 范围 C# 2.0+ 语句 主体 unchecked
{
$END$
}
参数
|
| try finally 范围 C# 2.0+ 语句 主体 try
{
$SELECTION$
}
finally
{
$END$
}
参数
|
| try catch 范围 C# 2.0+ 语句 主体 try
{
$SELECTION$
}
catch ($EXCEPTION$ $EX_NAME$)
{
$SELSTART$System.Console.WriteLine($EX_NAME$);
throw;$SELEND$
}
参数
|
| switch 语句 范围 C# 2.0+ 语句 主体 switch ($expression$)
{
$END$
}
参数
|
| while 循环 范围 C# 2.0+ 语句 主体 while ($expression$)
{
$SELECTION$$END$
}
参数
|
| 简单迭代器 作用域 C# 2.0+ 类型成员 主体 public $SystemCollectionsGenericIEnumeratorG$<$type$> GetEnumerator()
{
$SELSTART$throw new System.NotImplementedException();
yield return default($type$);
$SELEND$
}
参数
|
| 具有 'get' 访问器和 private 'set' 访问器的属性 作用域 C# 2.0+ 类型成员 主体 public $type$ $property$ { get; private set; }
参数
|
| 使用推荐模式的特性 作用域 C# 2.0+ 类型成员,C# 2.0+ 类型和命名空间 主体 [System.AttributeUsage(System.AttributeTargets.$target$, Inherited = $inherited$, AllowMultiple = $allowmultiple$)]
sealed class $name$Attribute : System.Attribute
{
// See the attribute guidelines at
// http://go.microsoft.com/fwlink/?LinkId=85236
public $name$Attribute ()
{
$SELSTART$// TODO: Implement code here
throw new System.NotImplementedException();$SELEND$
}
}
参数
|
| do...while 循环 范围 C# 2.0+ 语句 主体 do
{
$SELECTION$$END$
} while ($expression$);
参数
|
| checked 块 范围 C# 2.0+ 语句 主体 checked
{
$END$
}
参数
|
| if 语句 范围 C# 2.0+ 语句 主体 if ($expr$)
{
$SELECTION$$END$
}
参数
|
| lock 语句 范围 C# 2.0+ 语句 主体 lock ($expression$)
{
$SELECTION$$END$
}
参数
|
| MessageBox.Show 范围 C# 2.0+ 语句 主体 System.Windows.Forms.MessageBox.Show("$string$");
参数
|
| using 语句 范围 C# 2.0+ 语句 主体 using($resource$)
{
$SELECTION$$END$
}
参数
|
| ASP.NET MVC Html.ActionLink 范围 C# 2.0+ 表达式 主体 Html.ActionLink("$TEXT$", "$ACTION$", "$CONTROLLER$")
参数
展开前 ![]() 展开后 |
| ASP.NET MVC Url.Action 范围 C# 2.0+ 表达式 主体 Url.Action("$ACTION$", "$CONTROLLER$")
参数
展开前 ![]() 展开后 |
| ASP.NET 控制器 RedirectToAction 范围 C# 2.0+ 表达式 主体 RedirectToAction("$ACTION$", "$CONTROLLER$")
参数
展开前 ![]() 展开后 |
| 附加的属性 作用域 C# 2.0+ 类型成员 主体 public static readonly $dependencyProperty$ $propertyName$Property = $dependencyProperty$.RegisterAttached(
"$propertyName$", typeof($propertyType$), typeof($containingType$), new PropertyMetadata(default($propertyType$)));
public static void Set$propertyName$(DependencyObject $element$, $propertyType$ value)
{
$element$.SetValue($propertyName$Property, value);
}
public static $propertyType$ Get$propertyName$(DependencyObject $element$)
{
return ($propertyType$) $element$.GetValue($propertyName$Property);
}
参数
该模板创建一个附加属性,并包含所需的 get 和 set 方法。 |
| 依赖项属性 作用域 C# 2.0+ 类型成员 主体 public static readonly $dependencyProperty$ $propertyName$Property = $dependencyProperty$.Register(
$nameofProperty$, typeof($propertyType$), typeof($containingType$), new PropertyMetadata(default($propertyType$)));
public $propertyType$ $propertyName$
{
get { return ($propertyType$) GetValue($propertyName$Property); }
set { SetValue($propertyName$Property, value); }
}
参数
|
| 作用域 C# 2.0+ 类型成员,MSTest 测试项目 主体 [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethod]
public void $METHOD$()
{$END$}
参数
|





































