C# 如何从方法参数自动生成poco类(对象)?
有没有什么捷径可以从现有的带参数的方法中自动生成poco类C# 如何从方法参数自动生成poco类(对象)?,c#,visual-studio-2015,resharper-8.0,C#,Visual Studio 2015,Resharper 8.0,有没有什么捷径可以从现有的带参数的方法中自动生成poco类 public void RegisterUser(string userName, string fullName, string tel, string mobile, string website, string address, string blah){ //-- } 通过此方法,我应该能够自动生成我的类,如下所示: class UserRegisterDetail{ public string User
public void RegisterUser(string userName, string fullName,
string tel, string mobile, string website, string address, string blah){
//--
}
通过此方法,我应该能够自动生成我的类,如下所示:
class UserRegisterDetail{
public string UserName {get;set;}
public string FullName {get;set;}
public string Tel {get;set;}
public string Mobile {get;set;}
public string Website {get;set;}
public string Address {get;set;}
public string Blah {get;set;}
}
我使用resharper和re-factoring,但我不能生成简单的poco类
更新:
使用“从参数提取类”选项可生成以下内容:
public class RegisterUserParams
{
private string userName;
private string email;
private string fullName;
private string jobTitle;
private string department;
private string tel;
private string mobile;
private string switchboard;
private string fax;
private string address1;
private string address2;
private string address3;
public RegisterUserParams(string userName, string email, string fullName, string jobTitle, string department, string tel, string mobile, string switchboard, string fax, string address1, string address2, string address3 )
{
this.userName = userName;
this.email = email;
this.fullName = fullName;
this.jobTitle = jobTitle;
this.department = department;
this.tel = tel;
this.mobile = mobile;
this.switchboard = switchboard;
this.fax = fax;
this.address1 = address1;
this.address2 = address2;
this.address3 = address3;
}
public string UserName
{
get { return userName; }
}
public string Email
{
get { return email; }
}
public string FullName
{
get { return fullName; }
}
public string JobTitle
{
get { return jobTitle; }
}
public string Department
{
get { return department; }
}
public string Tel
{
get { return tel; }
}
public string Mobile
{
get { return mobile; }
}
public string Switchboard
{
get { return switchboard; }
}
public string Fax
{
get { return fax; }
}
public string Address1
{
get { return address1; }
}
public string Address2
{
get { return address2; }
}
public string Address3
{
get { return address3; }
}
}
在我看来,您应该创建一个具有所需属性作为参数的类,并将其实例作为参数传递。比有这么多参数的方法要好 例如:
UserRegisterDetail在何处使用您想要传递的属性初始化。您是否尝试过“从参数中提取类”重构?顺便说一句,在C#中,它是POCO,而不是pojo。一个方法的参数不能超过3个。这被认为是一个糟糕的设计-阅读Robert C.Martin Clean代码第40页。这就是我试图自动生成poco类来传递对象而不是传递太多参数的原因。我尝试过“从参数中提取类”但它确实生成了一个带有默认构造函数和字段的类,我在问题中更新了这些字段,因为它们都是字符串,您可以在这里使用
params
关键字。
public void RegisterUser(UserRegisterDetail pInstanceOfMyClass)
{ ... }