NET Expert.

مباحث ویژه و پیشرفته در برنامه نویسی دات نت فریم ورک

NET Expert.

مباحث ویژه و پیشرفته در برنامه نویسی دات نت فریم ورک

چک کردن معتبر بودن کد ملی با استفاده از Extention Method

قبلا در این پست درباره Extention Method ها و نحوه استفاده از آن مطالبی نوشته شد.
حال در این پست به نحوه استفاده از Extention Method برای چک کردن معتبر بودن کد ملی در نرم افزار می پردازیم :

public static bool IsValidCodeMelli(this string codeMelli)
{
  Int64 number;
  int sum = 0, temp;
   Int64.TryParse(codeMelli, out number);
   if (Math.Log10(number) > 6 && Math.Log10(number) < 10)
   {
     temp = Convert.ToInt16(number % 10);
      number /= 10;
      for (int i = 2; i < 11; i++)
      {
         sum += Convert.ToInt16(i * (number % 10));
         number /= 10;
      }
      if (((sum % 11 < 2) && (sum % 11 == temp)) || 
((sum % 11 >= 2) && ((11 - sum % 11) == temp)))
       return true;
   }
   return false;
}

مثال:


string codeMelli = "4990003519";
bool isValid = codeMelli.IsValidCodeMelli();

حل مشکل ی و ک فارسی و عربی با استفاده از Extention Method

قبلا در این پست درباره Extention Method ها و نحوه استفاده از آن مطالبی نوشته شد.

حال در این پست به نحوه استفاده از Extention Method در تبدیل حروف ی و ک عربی به فارسی در نرم افزار می پردازیم :

public static class Helper

}

    (public static string FixPersianChars(this string Value       

     }       

;('ی', 'ی')Replace.("ک", "ک")return Value.Replace            

  {       

{

 

مثال :


;"بابک کمائی" = string txtLastName
;()string FixChars = txtLastName.FixPersianChars

حل مشکل ی و ک فارسی و عربی در صفحات وب در ASP.NET

HttpModule  چیست:

در ASP.NET پردازش هر درخواست دارای مراحل یا فازهای مختلف است و در هر فاز رویدادهای مشخصی وجود دارد که با استفاده از HttpModuleها میتوانیم در این فرآیند تغییراتی ایجاد کنیم. به عنوان مثال می توانیم در اینجا عملیات لاگ کردن درخواستها، اعتبار سنجی درخواستها، بازنویسی Urlها و ... را به یک برنامه ASP.NET اضافه کنیم. برای مشاهده لیست این رویدادها و توضیحات بیشتر در این مورد اینجا را ببینید. در این مقاله برای سادگی بیشتر من فقط به دو تا از مهمترین رویدادها اشاره میکنم. این دو رویداد، BeginRequest (در لحظه دریافت درخواست توسط سرور) و EndRequest (پس از خاتمه پردازش درخواست توسط سرور) هستند و من در چند مثال موجود در این مقاله فقط از همین دو رویداد استفاده کرده ام.

ادامه مطلب ...

Extension Methods

Extension methods شما را قادر می‌سازند تا به type‌های موجود بدون اینکه کلاس جدیدی ایجاد کنید که از آن‌ها به ارث رفته باشند، متد‌های جدیدی اضافه نمائید و بیشترین استفاده آن‌ها در  System.Collections.IEnumerable است.

به طور مثال این امکان وجود ندارد که بتوان بر روی  IEnumerable‌ها از دستور Foreach استفاده کرد.

برای نمونه من برای اینکه foreach داشته باشم، آن‌را به لیست تبدیل می‌کردم و سپس از امکان foreach  بهره‌مند می‌شدم که شاید کار درستی نباشد. 

اما با Extension Method افزودن متد foreach به IEnumerable به نحو زیر میسر است:

public static void ForEach<T>(this IEnumerable<T> collection, 
Action<T> action)
{
   foreach (var item in collection)
{
    action(item);
}
}


• لیست کاملی از Extension Method های ایجاد شده در دات نت فریم ورک