Mengembalikan beberapa nilai dari kelas ke metode

Saya memiliki metode meneruskan string ke kelas. Untuk alasan pengujian saya telah menggunakan tombol untuk saat ini. Saya telah mencari di forum untuk pertanyaan serupa tetapi pertanyaan tersebut merujuk pada php dan situasi lain yang tidak dapat saya pahami. Kelas menghapus beberapa karakter dari string dan menetapkan nilai ke 3 string berbeda bergantung pada header. Saya perlu mengembalikan 3 string itu ke pemanggil dan saya telah mengkodekannya sebagai berikut.

Penelepon:

private void button4_Click(object sender, EventArgs e)
     {
     string a, b, c;
     string invia = textBox8.Text.ToString();
     Stripper strp = new Stripper();
     strp.Distri(invia, out a, out b, out c);
     textBox7.Text = a;
     textBox7.Text = b;
     textBox7.Text = c;}

Kelas:

class Stripper
{

 public  void  Distri (string inArrivo, out string param1, out string param2, out string param3)

    {
        string corrente="";
        string temperatura="";
        string numGiri="";
        string f = inArrivo;
        f = f.Replace("<", "");
        f = f.Replace(">", "");

        if (f[0] == 'I')
        {
       string _corrente = f;
            _corrente = _corrente.Replace("I", "");
            corrente = _corrente;
        }
      else if (f[0] == 'T')
        {
      string _temperatura = f;
             _temperatura = _temperatura.Replace("T", "");
              temperatura = _temperatura;
        }
        else if (f[0] == 'N')
        {
         string _numGiri = f;
            _numGiri = _numGiri.Replace("N", "");
             numGiri = _numGiri;
        }
        param1 = corrente;
        param2 = temperatura;
        param3 = numGiri;
        }
       }
      }

Kode berfungsi tanpa masalah tetapi saya tidak yakin apakah ini cara yang benar untuk mendapatkan pengembalian beberapa nilai dari suatu kelas. Apakah ada cara yang lebih baik?


person FeliceM    schedule 07.05.2013    source sumber


Jawaban (1)


Saya pikir membuat kelas lebih baik dalam hal ini

   public class MyClass
    {
        public string Corrente { get; set; }
        public string Temperatura { get; set; }
        public string NumGiri { get; set; }
    }

Kemudian

public MyClass Distri(string inArrivo)
{
    // your code

    MyClass myclass = new MyClass() {
        Corrente = corrente, 
        NumGiri = numGiri, 
        Temperatura = temperatura 
    };
    return myclass;

}

ini adalah bagaimana Anda dapat menelepon

Stripper strp = new Stripper();
MyClass myclass = strp.Distri(invia);

// akses nilai seperti di bawah ini

textBox7.Text = myclass.NumGiri;
person Damith    schedule 07.05.2013
comment
Terima kasih, bagaimana cara mengubah penelepon untuk mendapatkan nilai tersebut? - person FeliceM; 07.05.2013
comment
Terima kasih banyak. Dipahami sepenuhnya. - person FeliceM; 07.05.2013
comment
+1 lebih memilih untuk menggunakan opsi ini, daripada Tuple, karena ini hanya berfungsi dari .Net Framework 4.0 stackoverflow.com/questions/7120845/ - person DaniKR; 02.05.2016