1. 靜態(tài)單例
using System;
using System.Collections.Generic;
namespace InstanceTest
{
public class DogManager {
public static readonly DogManager Instance = new DogManager();
private DogManager() { }
public void Eat() {
Console.WriteLine("吃");
}
}
class Program
{
static void Main(string[] args)
{
DogManager.Instance.Eat();
}
}
}
2.延時單例
using System;
using System.Collections.Generic;
namespace InstanceTest
{
public class DogManager {
private static DogManager _instance = null;
private DogManager() { }
public static DogManager Insance() {
if (_instance == null) {
_instance = new DogManager();
}
return _instance;
}
public void Eat() {
Console.WriteLine("吃");
}
}
class Program
{
static void Main(string[] args)
{
DogManager.Insance().Eat();
}
}
}
注意把構造函數(shù)寫成private,讓他不能通過new獲得。