Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

วิธีการใช้รูปแบบวัตถุ Null ใน C #?


รูปแบบอ็อบเจกต์ 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() {
   }
}