2016-09-21 15 views
0

アプリケーションのコードを短くする問題があります。私はこのサンプルコードを持って、私はそれを小さくしたい。このリストには、モデル、シリアルなどの他のものが含まれています。私はもっ​​ときれいにする/読めるようにする必要があります。 Ofcでは、コードはこれよりはるかに大きい:コードサイズを簡素化または縮小

public class SmartPhones 
{ 
    public PhoneSettings() 
    { 
     Sony = true; 
     Htc = true; 
     Nokia = true; 
     Iphone = true; 

     SonyColor = Color Blue; 
     HtcColor = Color Black; 
     NokiaColor = Color Red; 
     IphoneColor = Color White; 
    } 
    public ToggleButton Sony {get; set;} 
    public ToggleButton Htc {get; set;} 
    public ToggleButton Nokia {get; set;} 
    public ToggleButton Iphone {get; set;} 

    public ColorButton SonyColor {get; set;} 
    public ColorButton HtcColor {get; set;} 
    public ColorButton NokiaColor {get; set;} 
    public ColorButton IphoneColor {get; set;} 
} 

小さな助けを借りてありがとう!

+5

このコードは意味をなさない。同じ名前の複数のプロパティがあるだけでなく、ToggleButtonとColorButtonとして定義されていても、ブール値とカラー値を割り当てています。完全な作業コードを投稿してください。 – Bassie

+0

@Bassieは正しいです、私が考えることができる唯一の方法は 'Sony = true;を短くすることです。 Htc = true; Nokia = true; Iphone = true; 'to' Sony = Htc = Nokia = Iphone = true; ' –

+0

@Bassieコードはそのまま動作しています。ソニー(トグルON/OFF、カラーボタン)は、両方(真/偽色)の関数(get-set)よりも優れています。しかしコードは本当に巨大です。 –

答えて

0

私はあなたが達成したいことをかなり理解していませんでしたが、私には、すべてのプロパティを持つPhoneクラスを作成し、適切な属性を持つPhoneのすべてのインスタンスを含むSmartPhonesクラスを作成するのがより論理的です。 このようなもの

public class Phone 
    { 
     public string Type { get; set; } 
     public string ToggleButton { get; set; } 
     public string ColorButton { get; set; } 
    } 

    public class SmartPhones 
    { 
     private List<Phone> _list = new List<Phone>(); 

     public SmartPhones() 
     { 
      _list.Add(new Phone { Type = "Htc", ToggleButton = "aa", ColorButton = "bb"}); 
      _list.Add(new Phone { Type = "Nokia", ToggleButton = "aa", ColorButton = "bb" }); 
      _list.Add(new Phone { Type = "Sony", ToggleButton = "aa", ColorButton = "bb" }); 
     } 
    } 
+2

'_list'を初期化するのを忘れないでください:) – fknx

関連する問題