C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でNullオブジェクトパターンを実装する方法は?


nullオブジェクトパターンは、可能な限りnullチェックを回避するクリーンなコードを作成するのに役立ちます。 nullオブジェクトパターンを使用すると、呼び出し元はnullオブジェクトまたは実際のオブジェクトのどちらを持っているかを気にする必要がありません。すべてのシナリオでnullオブジェクトパターンを実装することはできません。場合によっては、null参照を返し、いくつかのnullチェックを実行する可能性があります。

static class Program{
   static void Main(string[] args){
      Console.ReadLine();
   }
   public static IShape GetMobileByName(string mobileName){
      IShape mobile = NullShape.Instance;
      switch (mobileName){
         case "square":
         mobile = new Square();
         break;

         case "rectangle":
         mobile = new Rectangle();
         break;
      }
      return mobile;
   }
}

public interface IShape {
   void Draw();
}
public class Square : IShape {
   public void Draw() {
      throw new NotImplementedException();
   }
}
public class Rectangle : IShape {
   public void Draw() {
      throw new NotImplementedException();
   }
}
public class NullShape : IShape {
   private static NullShape _instance;
   private NullShape(){ }
   public static NullShape Instance {
      get {
         if (_instance == null)
            return new NullShape();
            return _instance;
         }
     }
      public void Draw() {
   }
}

  1. AndroidのPull-to-Refreshを実装するにはどうすればよいですか?

    例に入る前に、Androidでレイアウトを更新するためのプルとは何かを知っておく必要があります。スワイプして更新するように、Androidでpullを呼び出して更新できます。画面を上から下にスワイプすると、setOnRefreshListenerに基づいて何らかのアクションが実行されます。 この例は、Androidプルを実装して更新する方法を示しています。 ステップ1 − Android Studioで新しいプロジェクトを作成し、[ファイル]⇒[新しいプロジェクト]に移動して、新しいプロジェクトを作成するために必要なすべての詳細を入力します。 ステップ2 −次のコードをres / lay

  2. Pythonでパターンを印刷する方法は?

    Pythonのパターンは、ネストされたforループを使用して印刷できます。外側のループは行数を反復処理するために使用され、内側のループは列数を処理するために使用されます。印刷ステートメントは、要件に応じてさまざまなパターンを形成するように変更されます。 パターンには、星型、数字型、アルファベット型があります。パターンは、さまざまな形、三角形、ピラミッドなどにすることができます。 例 これらのパターンはすべて、これらの異なるパターンを形成する変更されたprintステートメントを含むforループを使用して印刷できます。 これらのパターンの印刷の基本的な考え方は同じですが、わずかな違いが