2016-03-22 12 views
0

Gibt es eine kurze Möglichkeit zur automatischen Erzeugung von Poco-Klasse aus einer bestehenden Methode mit Parametern?Wie automatisch poco Klasse (Objekt) aus einer Methode Parameter zu generieren?

public void RegisterUser(string userName, string fullName, 
string tel, string mobile, string website, string address, string blah){ 
    //-- 
    } 

von dieser Methode, die ich soll wie unten auf Auto generiert meine Klasse in der Lage sein:

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;} 
} 

Ich benutze ReSharper und Re-Factoring, aber ich kann nicht die einfache poco Klasse generieren.

Update:

„Extract Klasse von Parametern“ Mit der Option generiert die folgenden:

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; } 
      }   
     } 
+1

Haben Sie versucht, das Refactoring "Klasse aus Parametern extrahieren"? BTW in C#, es ist _POCO_, nicht pojo. –

+0

Sie möchten nicht mehr als 3 Argumente für eine Methode. Es ist als ein schlechtes Design - Lesen Sie Robert C. Martin Clean Code Seite 40. – Win

+0

Nun, das ist der Grund, ich versuche automatisch pooko Klasse zu generieren, um das Objekt zu übergeben, anstatt zu viele Parameter übergeben – akd

Antwort

0

Es scheint mir, dass Sie sollten nur die Klasse mit den Eigenschaften, die Sie als Parameter wollen erstellen und Pass eine Instanz davon als Parameter. Besser als so viele Parameter für die Methode.

zB:

public void RegisterUser(UserRegisterDetail pInstanceOfMyClass) 
{ ... } 

Wo UserRegisterDetail ist Ihnen Klasse mit den Eigenschaften, die Sie weitergeben möchten.