新足迹

 找回密码
 注册

精华好帖回顾

· 现在骗分真难,再发一个,搞个2014新大切(更新:34楼,被警察pull over了)(再更新:上图了,在43楼) (2013-7-6) ltroad · Secret (2013-9-25) braindev
· 糖心卤蛋-21楼更新做法 (2011-4-27) bubblecry · 9.24 Burwood East 路考通过,超详细新政策下路考过程 (2008-9-25) weiweijiewei
Advertisement
Advertisement
查看: 1532|回复: 18

VS 问题,乱码何在? [复制链接]

头像被屏蔽

禁止发言

发表于 2011-1-28 09:16 |显示全部楼层
此文章由 澳贼 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 澳贼 所有!转贴必须注明作者、出处和本声明,并保持内容完整
http://msdn.microsoft.com/en-us/library/tx1s9z1w.aspx

我知vs可以快捷地 implement an interface 。

问题是,如果我的interface 增加了一个method. 可不可以把所有用它的class都自动 implement  这个新method?

不知我说清楚了没有?
签名被屏蔽
Advertisement
Advertisement

发表于 2011-1-28 09:22 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 澳贼 于 2011-1-28 10:16 发表
http://msdn.microsoft.com/en-us/library/tx1s9z1w.aspx

我知vs可以快捷地 implement an interface 。

问题是,如果我的interface 增加了一个method. 可不可以把所有用它的class都自动 implement  这个新method?

不知我说清楚了没有?


不能自动的吧?compile不通过,要手动用鼠标点一下,然后implement.

[ 本帖最后由 乱码 于 2011-1-28 10:23 编辑 ]
头像被屏蔽

禁止发言

发表于 2011-1-28 09:31 |显示全部楼层
此文章由 澳贼 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 澳贼 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 乱码 于 2011-1-28 10:22 发表


不能自动的吧?compile不通过,要手动用鼠标点一下,然后implement.


问题是,如果我有20个class using Imyinterface. 如果我在Imyinterface增加一个method. 必须重新手动加20次?
签名被屏蔽

发表于 2011-1-28 09:40 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 澳贼 于 2011-1-28 10:31 发表


问题是,如果我有20个class using Imyinterface. 如果我在Imyinterface增加一个method. 必须重新手动加20次?


我个人觉得是要手动加(correct me if i'm wrong),不过也不全是手动,点20下mice而已。

要不你把interface做成abstract class,把有些共同的东西放到里面去,就会省些事。

评分

参与人数 1积分 +4 收起 理由
澳贼 + 4 连双胸都这么说了。

查看全部评分

2010年度奖章获得者

发表于 2011-1-28 10:11 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
I don't use naked VS.

in R#, you can easily do that inside your interface "Implement member in derived classes"
one click it does all for you.

if you use naked vs, you need to go to 20 classes and do that 20 times.

评分

参与人数 1积分 +4 收起 理由
澳贼 + 4 双胸都出现了

查看全部评分

足迹 Reader is phenomenal. If you never used, you never lived 火速下载

发表于 2011-1-28 10:18 |显示全部楼层
此文章由 混不到坑的萝卜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 混不到坑的萝卜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2011-1-28 10:11 发表
in R#, you can easily do that inside your interface "Implement member in derived classes" one click it does all for you.

对的,我也用R#,确实快捷很多。特别是Class Hierarchy navigation,和快速定位一个文件。超方便的。
Advertisement
Advertisement

发表于 2011-1-28 10:22 |显示全部楼层
此文章由 starchu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 starchu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
VS 2010 里面有一个“Pull members up”的refactor选项,你可以在一个class里面实现一个方法,然后pull up这个方法到interface里面,其他所有implement这个interface的class会自动生成method stub,不需要你手动添加。

Eclipse里面也有同样的refactor方法,叫pull-up,操作方法是一样的。

发表于 2011-1-28 10:34 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
resharper还真有这个东西,不过我的不好用阿,谈窗口:no appropriate inheritors were found, refactoring will be terminited.
头像被屏蔽

禁止发言

发表于 2011-1-28 10:45 |显示全部楼层
此文章由 澳贼 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 澳贼 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2011-1-28 11:11 发表
I don't use naked VS.

in R#, you can easily do that inside your interface "Implement member in derived classes"
one click it does all for you.

if you use naked vs, you need to go to 20 classes and d ...


http://www.jetbrains.com/resharper/
这个么? 要花钱的。我们庙穷啊
签名被屏蔽

发表于 2011-1-28 10:48 |显示全部楼层
此文章由 混不到坑的萝卜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 混不到坑的萝卜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 澳贼 于 2011-1-28 10:45 发表
这个么? 要花钱的。我们庙穷啊

不花钱也行,我一直都用不花钱的,咔咔。

秘诀是定期删掉某个注册表的key。谁给俺加200分我告诉你,哈哈哈
头像被屏蔽

禁止发言

发表于 2011-1-28 10:49 |显示全部楼层
此文章由 澳贼 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 澳贼 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 混不到坑的萝卜 于 2011-1-28 11:48 发表

不花钱也行,我一直都用不花钱的,咔咔。

秘诀是定期删掉某个注册表的key。谁给俺加200分我告诉你,哈哈哈


我是守法公民。
签名被屏蔽
Advertisement
Advertisement
头像被屏蔽

禁止发言

发表于 2011-1-28 10:50 |显示全部楼层
此文章由 澳贼 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 澳贼 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 starchu 于 2011-1-28 11:22 发表
VS 2010 里面有一个“Pull members up”的refactor选项,你可以在一个class里面实现一个方法,然后pull up这个方法到interface里面,其他所有implement这个interface的class会自动生成method stub,不需要你手动添加。

Eclipse里面也有同样的refactor方法,叫pull-up,操作方法是一样的。


谢谢,不过你似乎没理解我的问题
签名被屏蔽

发表于 2011-1-28 10:50 |显示全部楼层
此文章由 混不到坑的萝卜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 混不到坑的萝卜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 澳贼 于 2011-1-28 10:49 发表
我是守法公民。
Good boy, keep it that way then

发表于 2011-1-28 10:51 |显示全部楼层
此文章由 混不到坑的萝卜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 混不到坑的萝卜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 澳贼 于 2011-1-28 10:50 发表
谢谢,不过你似乎没理解我的问题

人家说的对的,你再仔细想想看?

发表于 2011-1-28 11:09 |显示全部楼层
此文章由 starchu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 starchu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 澳贼 于 2011-1-28 11:50 发表


谢谢,不过你似乎没理解我的问题


不是我没理解你,而是你没有理解我。。。呵呵,你说的不就是interface里面添加一个方法,怎么样让所有的类自动添加method stub吗,我告诉你的方法就是怎么用refactor的工具来自动实现。
头像被屏蔽

禁止发言

发表于 2011-1-28 12:23 |显示全部楼层
此文章由 澳贼 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 澳贼 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 starchu 于 2011-1-28 12:09 发表


不是我没理解你,而是你没有理解我。。。呵呵,你说的不就是interface里面添加一个方法,怎么样让所有的类自动添加method stub吗,我告诉你的方法就是怎么用refactor的工具来自动实现。


老大,我的VS2010里,没有“Pull members up”呀???是不是你装了R#?
签名被屏蔽
Advertisement
Advertisement

发表于 2011-1-28 12:45 |显示全部楼层
此文章由 starchu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 starchu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 澳贼 于 2011-1-28 13:23 发表


老大,我的VS2010里,没有“Pull members up”呀???是不是你装了R#?


I think so. R# refactor tools are far more better, ask your company buy one to improve productivity.

发表于 2011-2-1 09:32 |显示全部楼层
此文章由 jerryclark 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jerryclark 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 澳贼 于 2011-1-28 12:23 发表


老大,我的VS2010里,没有“Pull members up”呀???是不是你装了R#?

好像这个功能是Resharper里面的,不是VS里面的
头像被屏蔽

禁止发言

发表于 2011-2-1 09:37 |显示全部楼层
此文章由 澳贼 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 澳贼 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 jerryclark 于 2011-2-1 10:32 发表

好像这个功能是Resharper里面的,不是VS里面的


是的是的
签名被屏蔽

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部