public void UnRegister(Type type, IDetailChecker detailChecker)
 {
     checker.TryRemove(type, out detailChecker);
 }
        public IDetail CreateDetail(IDetail detail)
        {
            IDetailChecker detailchecker = checker[detail.GetType()];

            return(detailchecker.CreateDetail(detail));
        }
 public void Register(Type type, IDetailChecker detailChecker)
 {
     checker.TryAdd(type, detailChecker);
 }
        public bool CheckDetail(IDetail detail)
        {
            IDetailChecker detailchecker = checker[detail.GetType()];

            return(detailchecker.CheckDetail(detail));
        }