今天看了周金桥大大的一文章,非常好的,里面有“代码段管理器” 一段,看了之后心痒难耐,马上上机实验一下,发现在VS2008下的prop所出的代码与周大大的不一样
而在VS2008下是这样子滴
public int MyProperty { get; set; }
打开prop.snippet文件
-
<?xmlversion="1.0"encoding="utf-8"?>
-
<CodeSnippetsxmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
-
<CodeSnippetFormat="1.0.0">
-
<Header>
-
<Title>prop</Title>
-
<Shortcut>prop</Shortcut>
-
<Description>自动实现的属性的代码段</Description>
-
<Author>MicrosoftCorporation</Author>
-
<SnippetTypes>
-
<SnippetType>Expansion</SnippetType>
-
</SnippetTypes>
-
</Header>
-
<Snippet>
-
<Declarations>
-
<Literal>
-
<ID>type</ID>
-
<ToolTip>属性类型</ToolTip>
-
<Default>int</Default>
-
</Literal>
-
<Literal>
-
<ID>property</ID>
-
<ToolTip>属性名</ToolTip>
-
<Default>MyProperty</Default>
-
</Literal>
-
</Declarations>
-
<CodeLanguage="csharp"><![CDATA[public$type$$property${get;set;}$end$]]>
-
</Code>
-
</Snippet>
-
</CodeSnippet>
-
</CodeSnippets>
把这个文件复制一份出来改名为propp.snippet,修改里面的代码为以下内容
-
<?xmlversion="1.0"encoding="utf-8"?>
-
<CodeSnippetsxmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
-
<CodeSnippetFormat="1.0.0">
-
<Header>
-
<Title>propp</Title>
-
<Shortcut>propp</Shortcut>
-
<Description>自动实现的属性的代码段</Description>
-
<Author>MicrosoftCorporation</Author>
-
<SnippetTypes>
-
<SnippetType>Expansion</SnippetType>
-
</SnippetTypes>
-
</Header>
-
<Snippet>
-
<Declarations>
-
<Literal>
-
<ID>type</ID>
-
<ToolTip>属性类型</ToolTip>
-
<Default>int</Default>
-
</Literal>
-
<Literal>
-
<ID>property</ID>
-
<ToolTip>属性名</ToolTip>
-
<Default>MyProperty</Default>
-
</Literal>
-
<Literal>
-
<ID>field</ID>
-
<ToolTip>Thevariablebackingthisproperty</ToolTip>
-
<Default>myVar</Default>
-
</Literal>
-
</Declarations>
-
<CodeLanguage="csharp"><![CDATA[private$type$$field$;
- public$type$$property$
- {
- get{return$field$;}
- set{$field$=value;}
- }
-
$end$]]>
-
</Code>
-
</Snippet>
-
</CodeSnippet>
-
</CodeSnippets>
现在再试propp看看,哈哈
周大大原文地址http://blog.csdn.net/zhoufoxcn/archive/2008/09/22/2959316.aspx
分享到:
相关推荐
属性是类的一个成员,它封装了类的私有字段,提供了对外部访问这些字段的控制。get方法用于获取属性的值,而set方法用于设置属性的值。在C#中,我们可以使用自动属性(auto-implemented properties)来简化这一过程...
编译器会自动为你生成这些私有字段,从而简化代码。在C# 2.0中,你需要手动创建私有变量并实现getter和setter,而在C# 3.0中,你可以直接这样声明: ```csharp // C# 2.0 private string prop; public string Prop ...
这段代码展示了如何通过反射访问私有字段、设置公共属性值和调用公共方法。 总结,C#反射是.NET平台的重要特性,它使得代码更加灵活和强大。理解并合理使用反射,可以帮助开发者解决许多复杂问题,但同时也需要注意...
**C#反射详解与实例应用** C#反射是.NET框架提供的一种强大功能,它...然而,它的使用需要谨慎,因为不恰当的使用可能会导致性能下降和代码复杂性增加。在开发过程中,理解反射的工作原理和适当的应用场景至关重要。
- 访问和修改字段值(包括私有字段)。 ##### 2.2 使用示例 下面通过几个示例来进一步理解反射的用法: **示例1:通过类名创建实例** ```java Class<?> cls = Class.forName("java.lang.String"); Object str = ...
在编程领域,C#语言的反射机制是一种强大的工具,它允许程序在运行时检查自身的信息,包括类、接口、字段、方法等,并能动态创建对象和调用方法。本资源集合是作者三年来在系统软件项目实施过程中积累的经验结晶,...
- **GetFields(BindingFlags)**: 允许指定绑定标志来获取私有、受保护或非公共字段。 - **GetProperties**: 获取类型的所有公共属性。 - **GetProperties(BindingFlags)**: 同上,但用于获取属性。 - **GetMethods**...
在.NET框架中,C#语言提供了强大的反射机制,使得程序在运行时能够动态地获取类型信息,甚至可以创建类型实例、调用方法、访问字段和属性。本案例将重点讲解如何利用反射功能来动态调用DLL(动态链接库)中的方法,...
在提供的压缩包“Reflected”中,可能包含了各种使用反射的例子,比如如何动态调用私有方法、如何遍历并操作类型的所有属性等。通过学习这些示例,你可以更深入地掌握C#反射的用法,并将其应用到自己的项目中,提高...
在这个示例中,`TestProperties`类包含了四个静态字段,它们将从Properties文件中读取的键值对存储起来。在类的静态块中,我们创建了一个`Properties`对象,并通过`getResourceAsStream()`方法打开一个与Properties...
4. **模拟私有属性**:在JavaScript中,我们可以使用Proxy来模拟类的私有属性,限制外部对它们的直接访问。 总的来说,ES6的Proxy是JavaScript中一个强大的特性,它提供了对对象访问的细粒度控制,可以用于实现各种...
此外,反射可能导致安全风险,因为它可以访问私有成员,这可能被恶意代码利用。 综上所述,Reflection是C#中一个功能强大的特性,能够实现运行时的灵活性和动态性,但同时也需要谨慎使用,以平衡功能和性能之间的...
### VS C# 代码片段详解 #### 一、Attribute自动生成属性 在C#中,`attribute`关键字用于定义元数据或对程序元素(如类、方法等)进行标记。这里提到的“自动生成属性”可能是指通过某种方式快速生成包含`...
这个“现代JavaScript课程”很可能还会涉及后续的ES7、ES8直至最新的版本,这些版本继续添加了异步操作、模块系统、私有字段等更多功能,持续推动着JavaScript的发展。通过学习这些内容,开发者将能够利用现代...
- **`propfull`**:生成完整的属性(包括私有字段)。 - **`if`**:生成条件语句。 - **`while`**:生成循环语句。 - **`cw`**:生成构造函数。 - **`for`**:生成 `for` 循环。 - **`foreach`**:生成 `foreach` ...
Visual Studio预定义了一些常用的属性片段,如“prop”,“propg”(带有私有setter的属性),“propfull”(包含初始化器的完整属性)。这些片段可以在编写代码时通过输入对应的触发词并按Tab键来调用。 三、...
- Kotlin 中的所有异常均为 unchecked 异常,这意味着在函数声明中不需要显式声明可能抛出的异常。 - 示例: ```kotlin fun divide(a: Int, b: Int): Int { if (b == 0) throw ArithmeticException("Cannot ...
- **private**:私有成员,只能被同一类内的方法访问。 - **protected**:受保护成员,可被同一包内或子类访问。 - **default**:默认访问级别,仅限于同一包内的类访问。 #### 使用JDK类的方案 - 使用`java.util....
项目通常会有不同的配置文件,如`package.json`中的`scripts`字段,分别用于开发(如`npm start`)和部署(如`npm run build`)。 通过这个项目,开发者可以学习到如何使用ES6语法和React的最佳实践,以及如何配置...