技巧1 主动生成带参构造函数
当我们在编写代码时会经常碰到初始化一个的类,需要通过构造函数停止对象初始化。那么那个时候我们可能会需要逐个去手动写,如许的工做即反复又无趣。若是是在项目十分告急的情状下还有大量的字段需要与入参逐个对应起来几乎太要命了。大致情状如下:
publicclassConfiginfo: Entity
publicConfiginfo{ }
publicConfiginfo( intappType, stringappName, stringappSecretKey, stringclientVersion, stringupdateUrl, stringupdateLogUrl, stringinstallPath, stringmainUpdateUrl, stringmainAppName)
AppType=appType;
AppName=appName??thrownewArgumentNullException( nameof( appName));
AppSecretKey=appSecretKey??thrownewArgumentNullException( nameof( appSecretKey));
ClientVersion=clientVersion??thrownewArgumentNullException( nameof( clientVersion));
UpdateUrl=updateUrl??thrownewArgumentNullException( nameof( updateUrl));
UpdateLogUrl=updateLogUrl??thrownewArgumentNullException( nameof( updateLogUrl));
InstallPath=installPath??thrownewArgumentNullException( nameof( installPath));
MainUpdateUrl=mainUpdateUrl??thrownewArgumentNullException( nameof( mainUpdateUrl));
MainAppName=mainAppName??thrownewArgumentNullException( nameof( mainAppName));
展开全文
/// summary
/// 1:ClientApp 2:UpdateApp
/// /summary
publicintAppType{ get; set; }
/// summary
/// Need to start the name of the app.
/// /summary
publicstringAppName{ get; set; }
/// summary
/// application key
/// /summary
publicstringAppSecretKey{ get; set; }
/// summary
/// Client current version.
/// /summary
publicstringClientVersion{ get; set; }
/// summary
/// Update check api address.
/// /summary
publicstringUpdateUrl{ get; set; }
/// summary
/// Update log web address.
/// /summary
publicstringUpdateLogUrl{ get; set; }
/// summary
/// installation path (for update file logic).
/// /summary
publicstringInstallPath{ get; set; }
/// summary
/// Update check api address.
/// /summary
publicstringMainUpdateUrl{ get; set; }
publicstringMainAppName{ get; set; }
看起来是不长短常头疼,那么若何处理那个问题呢?能够通过VisualStudio搀扶帮助开发者停止那反复的工做。
空白处点击一下,会呈现一个小东西图标
点击小东西,选择生成构造函数。
选择需要做为构造函数的参数
生成代码如下
AppType=appType;
AppName=appName??thrownewArgumentNullException( nameof( appName));
AppSecretKey=appSecretKey??thrownewArgumentNullException( nameof( appSecretKey));
ClientVersion=clientVersion??thrownewArgumentNullException( nameof( clientVersion));
UpdateUrl=updateUrl??thrownewArgumentNullException( nameof( updateUrl));
UpdateLogUrl=updateLogUrl??thrownewArgumentNullException( nameof( updateLogUrl));
InstallPath=installPath??thrownewArgumentNullException( nameof( installPath));
MainUpdateUrl=mainUpdateUrl??thrownewArgumentNullException( nameof( mainUpdateUrl));
MainAppName=mainAppName??thrownewArgumentNullException( nameof( mainAppName));
}技巧2 Debug调试根据仓库停止查找到代码挪用
在调式中我们凡是都是按F10或者F11停止调试,若是代码数量较少那么调试起来长短常简单的。若是代码多或者代码中办法内部不会集中良多其他的办法,那时候我们往往会忘记上一步是由哪个处所跳转过来的从而招致我们晕头转向,那个时候我们就需要操纵VisualStudio中的仓库信息停止辅助搀扶帮助我们构想明晰的查看代码的挪用链路。
示例代码如下:
internalclassClass1
publicvoidTest
varlocal=PublicMethod( newJuster( 18));
Console. WriteLine( local);
publicstaticdoublePublicMethod( Justerjuster)
doubleresult=GetScale( injuster);
returnresult+result;
privatestaticdoubleGetScale( inJusterinput) =input. Age*input. Age;
挪用代码:
staticvoidMain( string[] args)
Class1class1=newClass1;
class1. Test;
Console. WriteLine;
那个时候假设我们需要调试class1中的三个办法,打上三个断点。
那个时候我们运行到最初一个办法时,假设代码内容十分复杂那个时候我们已经晕了。那时候就需要翻开“仓库挪用”的窗口,查看详细的调试信息。
然后根据仓库信息逐渐往后看。我们从下往上逐渐双击仓库信息,VisualStudio会主动搀扶帮助我们把存眷点跳转到对应的代码行数也就是“发作地”。