首页 新闻 会员 周边

VS一键复写ToString的快捷键/方式

0
悬赏园豆:10 [已解决问题] 解决于 2015-02-27 16:33

Visual Studio里有没有一键overwrite tostring的快捷键(方式),使之成为类似于这样的代码,打印出来实体类里面的信息。

public overwrite void ToString()

{

  return "Username:" + this.Username + ",Password:" + this.Password;

}

如果没有,是否能提供一个插件来做到这样。

Marble的主页 Marble | 菜鸟二级 | 园豆:201
提问于:2015-02-26 11:07
< >
分享
最佳答案
1

vs的autocode 插件里有自动重写tostring,并且将各个成员拼接起来的方法

地址:http://www.devprojects.net/downloads/AutoCode2013Setup.msi

收获园豆:10
SpringRen | 菜鸟二级 |园豆:412 | 2015-02-27 09:29
其他回答(2)
0

每个实体都是不一样的,有的没有Username和Password咋办?

如果你只是要在用户实体中实现这个功能,那你上面的代码基本就可以了啊。

爱编程的大叔 | 园豆:30839 (高人七级) | 2015-02-26 11:16

大叔较真了。用ToString就是为了打印出类里的各个成员变量的值。

如果成员变量过多,ToString写起来就费事多了。

我是想求一个ToString的模板,自动生成ToString这样的自定义方法。

支持(0) 反对(0) Marble | 园豆:201 (菜鸟二级) | 2015-02-26 11:42

@HelloWordInYourHand: 

如果是要打印所有类的属性,不建议用重写TOSTRING的方法。

你直接实现一个扩展方法

PrintPropertyNameValue

然后就可以这样用了

Model.PrintPropertyNameValue

不明白的话,可以搜索“扩展方法 c#”

 

除了扩展方法之外,你还需要“Reflection”,中文“反射”,

通过反射可以得到一个类的属性、方法列表

具体如何使用,也请自行Google “C# 反射”

支持(0) 反对(1) 爱编程的大叔 | 园豆:30839 (高人七级) | 2015-02-26 11:45

@爱编程的大叔: 谢谢大叔提供的思路

支持(0) 反对(0) Marble | 园豆:201 (菜鸟二级) | 2015-02-27 16:10
0

用反射吧,用反射获取成员信息,然后给拼起来就O了。

Alex_QY1987 | 园豆:1888 (小虾三级) | 2015-02-26 13:35

谢谢。

但用反射后我怕同事瞎逼逼。

支持(0) 反对(0) Marble | 园豆:201 (菜鸟二级) | 2015-02-27 16:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册