Portable Class Library چیست و چگونه از آن استفاده کنیم؟
نویسنده: مسعود پاکدل
تاریخ: ۱۳۹۱/۱۱/۲۵ ۲۲:۲۰
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
| Xbox 360 | Windows Phone | Silverlight | Windows Store | .NET Framework | Feature |
| √ | √ | √ | √ | √ | Core |
| √ | √ | √ | √ | LINQ | |
| Only 7.5 | √ | √ | √ | IQueryable | |
| √ | √ | Only 4.5 | Dynamic keyword | ||
| √ | √ | √ | Managed Extensibility Framework (MEF) | ||
| √ | √ | √ | √ | Network Class Library (NCL) | |
| √ | √ | √ | √ | Serialization | |
| √ | √ | √ | √ | Windows Communication Foundation (WCF) | |
| √ | √ | √ |
Only 4.5 | Model-View-View Model (MVVM) | |
| √ | √ | Only 4.0.3 and 4.5 | Data annotations | ||
| √ | √ | √ | √ | Only 4.0.3 and 4.5 | XLINQ |
mscorlib.dll
System.dll
System.Core.dll
System.Xml.dll
System.ComponentModel.Composition.dll
System.Net.dll
System.Runtime.Serialization.dll
System.ServiceModel.dll
System.Xml.Serialization.dll
System.Windows.dll - From Silverlight
public class PersianDate<TCalendar> where TCalendar : System.Globalization.Calendar
{
public PersianDate()
{
this.CurentCalendar = System.Activator.CreateInstance<TCalendar>();
}
public TCalendar CurentCalendar
{
get;
private set;
}
public string GetDate()
{
return string.Format( "{0}/{1}/{2}", this.CurentCalendar.GetYear( DateTime.Today ).ToString( "####0000" )
, this.CurentCalendar.GetMonth( DateTime.Today ).ToString( "##00" )
, this.CurentCalendar.GetDayOfMonth( DateTime.Today ).ToString( "##00" ) );
}
}public class CustomPersianDate
{
public CustomPersianDate()
{
}
public static Common.PersianDate<System.Globalization.PersianCalendar> PersianCalendar
{
get
{
return _persianCalendar ?? ( _persianCalendar = new Common.PersianDate<System.Globalization.PersianCalendar>() );
}
}
private static Common.PersianDate<System.Globalization.PersianCalendar> _persianCalendar;
}class Program
{
static void Main( string[] args )
{
Console.WriteLine( "Today Is ?{0}", CustomPersianDate.PersianCalendar.GetDate() );
Console.ReadLine();
}
}برای پروژه Silverlight هم نتیجه قطعا به همین صورت است.
همان طور که دید انتخاب نوع Calendar به خود Applicationها واگذار شد و شما میتونید هر نوع تقویم رو به عنوان TCalendar تعیین کنید.
امیدوارم شما هم مثل من به این تکنولوژی دلچسب علاقه پیدا کرده باشید.
- چند نفر این دور و اطراف با VS.NET کار اندروید انجام میدن؟ به چه جهت مایکروسافت باید برای اندروید کتابخانه پرتابل ارائه بده؟ چه نفعی براش داره؟
- " مابقی مواردی که در این کتابخانه پرتابل قابل استفاده نیست خوب به روش معمول استفاده خواهند شد " مربوط به مثال WCF Data Services بود که زدی؛ این جزو مابقی موارد هست. کتابخانه پایه و کدهای مشترک رو با پرتابل درست میکنی و این مورد در کارهای متداول قابل انجام با VS.NET که پیش بینی شده قابل استفاده است، مابقی موارد مثل WCF Data Services خارج از این کتابخانه پرتابل قرار میگیره و وابسته به فناوری پایه خاص.