Visual Studio的MethMVVM
MethMVVM介绍:
Visual Studio Gallery是微软针对VisualStudio扩展提供的一种解决方案,在Visual Studio Gallery你能够找到各种不同主题的解决方案,而MethMVVM就是一种扩展,这个扩展方案根据名字也能大体猜出来是为了实现MVVM设定的,Visual Studio Gallery给出的定义为:Snippet for method creaion and MVVM proprties.根据文档解释发现其实这就是Visual Studio 上的Code Snipper,我们自己也可以封装,但是既然有人家已经针对MVVM模式扩展了这个Code Snipper,那我们没必要在自己去浪费时间去了。
MethMVVM的安装:
使用之前,把这个扩展安装到Visual Studio中去,安装步骤如下:首先选择工具下面的扩展与安装


在左边选择联系,在最右边搜索框中输入MethMVVM,点击搜索,会在中间的搜索结果框中显示所需的扩展方案,点击该搜索结果,安装完成后会自动重启Visual Studio,重启后就可以使用了!
MethMVVM的使用:
meth-public method(公共方法)
在Visual Studio的类中输入meth双击Tab显示代码为:
public int MethodName()
{
throw new NotImplementedException();
}
methp-private method(私有方法),用法入meth一样。
meth2-public method with two parameters(带两个参数的公共方法)
methp2-private method with two parameters(带有两个参数的私有方法)
meths-public static method(静态方法)
meths2-public static method with two parameters(带有两个参数的静态方法)
propmvvm-mvvm property(能够实现绑定通知的属性)
propall-generate typical property definition in C#(C#的完全属性写法)
安装了MethMVVM的扩展多了的也就是方法的定义和propmvvm,至于完全属性是在Visual Studio的Code Snipper中自带就有,而propmvvm的定义还是需要自己实现INotifyPropertyChanged接口的通知事件

这个OnPropertyChanged的方法还需要我们自己手动去实现,这里的实现感觉有点鸡肋了,实现入下
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string name)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(name));
}
}
总结:
其实这个MethMVVM实现功能有限,还是作为一个扩展放到Visual Studio Gallery中去,并且以一篇文章的形式做了一个讲解,主要是由此能够了解Visual Studio中有很多现成的扩展,可以很方便的让我们去调用,不需要我们自己写很多代码去实现,并且扩展的源码我们也可以在CodePlex去找到,如果有使用起来能够方便我们Coding的,大家都能够分享一下,都能从中受益。
Visual Studio的MethMVVM的更多相关文章
- Visual Studio 2010的MSDN帮助文档离线使用
如果没有在安装vs过程中安装帮助,也可通过Visual Studio帮助菜单中的Manage Help Settings来对帮助进行设置或安装. 可以选择从磁盘安装内容,如果选择从磁盘安装可能会要求提 ...
- 使用Visual Studio 2015 开发ASP.NET MVC 5 项目部署到Mono/Jexus
最新的Mono 4.4已经支持运行asp.net mvc5项目,有的同学听了这句话就兴高采烈的拿起Visual Studio 2015创建了一个mvc 5的项目,然后部署到Mono上,浏览下发现一堆错 ...
- Visual Studio Code 代理设置
Visual Studio Code (简称 VS Code)是由微软研发的一款免费.开源的跨平台文本(代码)编辑器,在十多年的编程经历中,我使用过非常多的的代码编辑器(包括 IDE),例如 Fron ...
- 使用Visual Studio SDK制作GLSL词法着色插件
使用Visual Studio SDK制作GLSL词法着色插件 我们在Visual Studio上开发OpenGL ES项目时,避免不了写Shader.这时在vs里直接编辑shader就会显得很方便. ...
- Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验
Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...
- 深入研究Visual studio 2017 RC新特性
在[Xamarin+Prism开发详解三:Visual studio 2017 RC初体验]中分享了Visual studio 2017RC的大致情况,同时也发现大家对新的Visual Studio很 ...
- Xamarin+Prism开发详解三:Visual studio 2017 RC初体验
Visual studio 2017 RC出来一段时间了,最近有时间就想安装试试,随带分享一下安装使用体验. 1,卸载visual studio 2015 虽然可以同时安装visual studio ...
- 关于Visual Studio 未能加载各种Package包的解决方案
问题: 打开Visual Studio 的时候,总提示未能加载相应的Package包,有时候还无法打开项目,各种提示 解决方案: 进入用户目录 C:\Users\用户名\AppData\Local\M ...
- Windows下Visual studio 2013 编译 Audacity
编译的Audacity版本为2.1.2,由于实在windows下编译,其源代码可以从Github上取得 git clone https://github.com/audacity/audacity. ...
随机推荐
- MEF 编程指南(十):重组
有些应用程序被设计成在运行时动态地改变.例如,一个新的扩展可能被下载,或者其他原因变得不可用.MEF 依靠我们称之为重组(Composition)的技术处理,在初始化组合以后改变导入值的场景. 导 ...
- Ping批量函数
function pingm ($file){ $ips = gc $file foreach ($ip in $ips) { $cmdline +="ping " + $ip + ...
- [ALGO-3] K好数
算法训练 K好数 时间限制:1.0s 内存限制:256.0MB 问题描写叙述 假设一个自然数N的K进制表示中随意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K进制数中K好数 ...
- Java多线程模式(二)
Guarded Suspension Pattern 该模式描述的是当一个线程在执行某个操作时,但由于其他资源还没有准备好,需要等待,那么就等待资源准备好才开始自己的操作.我们直接看代码例子 ...
- delphi 查找对话框
调用查找对话框 关键点 HTMLID_FIND = 1; //查找对话框 HTMLID_VIEWSOURCE= 2; //用记事本查看源代码 HTMLID_OPTIONS =3; //Internet ...
- delphi 获取驱动盘的卷标 号
{获取C盘的卷标 格式化硬盘卷标改变} //GetHardDiskSerial('c:\') function GetHardDiskSerial(Drive: string): string; va ...
- android应用程序监听SMS Intent广播
当设备接收到一条新的SMS消息时,就会广播一个包含了android.provider.Telephony.SMS_RECEIVED动作的Intent. 对于应用程序监听SMS Intent广播,首先需 ...
- Python2.7.3移除字符串中重复字符(一)
移除重复字符很简单,这里是最笨,也是最简单的一种.问题关键是理解排序的意义: # coding=utf-8 #learning at jeapedu in 2013/10/26 #移除给定字符串中重复 ...
- PHP概率算法(适用于抽奖、随机广告)
做网站类的有时会弄个活动什么的,来让用户参加,既吸引用户注册,又提高网站的用户活跃度.同时参加的用户会获得一定的奖品,有100%中奖的,也有按一定概率中奖的,大的比如中个ipad.iphone5,小的 ...
- oc-12-NSString 类简单介绍及用法
// 11-[掌握]NSString 类简单介绍及用法 #import <Foundation/Foundation.h> int main(int argc, const char * ...