اول مي خواستم بابت زحمتي كه كشيديد ازتون تشكر كنم، واقعا كامپوننت بدرد بخوريه ولي تو كد هاي مربوط به سربارگذاري اپراتورها به نظرم مشكل وجود داره به طور مثال در مورد اپراتور نامساوي كد فعلي به اين صورته
         public static bool operator !=(PerDate firstPersianDate, PerDate otherPersianDate)
{
if (firstPersianDate.Day != otherPersianDate.Day)
if (firstPersianDate.Month != otherPersianDate.Month)
if (firstPersianDate.Year != otherPersianDate.Year)
return true;
return false;

}
كه از اونجايي كه وقتي هر جزء (روز، ماه يا سال) دو تاريخ با هم مساوي نباشند اونوقت خود دو تاريخ هم با هم مساوي نيستند پس كد فوق بايد به صورت زير اصلاح بشه
        public static bool operator !=(PerDate firstPersianDate, PerDate otherPersianDate)
{
if (firstPersianDate.Day != otherPersianDate.Day ||
firstPersianDate.Month != otherPersianDate.Month ||
firstPersianDate.Year != otherPersianDate.Year)
return true;
else
return false;
}

البته با اجازه من يه سري بهينه سازياي ديگه هم تو كد شما انجام دادام، خوب فكر كنم خوبي پروژه هاي اپن سورس همينه ديگه، اگه خواستيد اونا رو هم براتون ميذارم
موفق باشيد.