تا قسمت قبلی
کنترل لیست را پر نمودیم. در این مقاله قصد داریم آخرین کنترلT یعنی تقویم
را بایند کرده و یک نکته از Binding را جهت تکمیل کردن بحث بیان کنیم. تقویم
در دروس گذشته اطلاعات را از متدی به نام GetPerson دریافت میکردیم که اطلاعات آن به شرح زیر است: public static Person GetPerson()
{
return new Person()
{
Name = "Leo",
...
در این مطلب قصد داریم نحوهی راه اندازی و شروع به کار با Aurelia را توضیح دهیم. برای شروع ابتدا باید Git را نصب کنیم. زیرا میخواهیم از jspm برای نصب محتویات Aurelia استفاده کنیم و برای کار کردن با jspm باید Git بر روی سیستم نصب باشد. در صورتیکه Git نصب نباشد، زمان init کردن jspm با خطای زیر رو به رو میشویم :
پس از نصب Git اطمینان حاصل کنید که NodeJs ، npm و jspm نیز بر روی سیستم شما نصب باشند. در این قسمت گفتهایم که چ ...
در این مقاله سعی در پیاده سازی Roxy FileMan در Asp.net mvc داریم. البته خود وب سایت آن ( اینجا ) برای .net Framework 4.5 پروژهایی را آماده کرده است که بنده بنا دارم همان پروژه را توضیح دهم. قبل از شروع به کار، ابتدا نمایی از این ابزار مدیریت فایل (File Manager) را ملاحظه فرمایید: 1- ابتدا یک پروژهی جدید MVC میسازیم 2- جهت بخش سمت سرور، کد هندلری به نام main.ashx نوشته شده است که در فولدر asp_net قرار دارد و در ...
معرفی Workspace API
Workspace، در حقیقت نمایش اجزای یک Solution در ویژوال استودیو است و یک Solution متشکل است از تعدادی پروژه به همراه وابستگیهای بین آنها. هدف از وجود Workspace API در Roslyn، دسترسی به اطلاعات لازم جهت انجام امور Refactoring در سطح یک Solution است. برای مثال اگر قرار است نام خاصیتی تغییر کند و این خاصیت در چندین پروژهی دیگر در حال استفاده است، این نام باید در سراسر Solution جاری یافت شده و تغییر یابد. همچ ...
معرفی Analyzers
پیشنیاز این بحث نصب مواردی است که در مطلب « شروع به کار با Roslyn » در قسمت دوم عنوان شدند:
الف) نصب SDK ویژوال استودیوی 2015
ب) نصب قالبهای ایجاد پروژههای مخصوص Roslyn
البته این قالبها چیزی بیشتر از ایجاد یک پروژهی کلاس Library جدید و افزودن ارجاعاتی به بستهی نیوگت Microsoft.CodeAnalysis، نیستند. اما درکل زمان ایجاد و تنظیم این نوع پروژهها را خیلی کاهش میدهند و همچنین یک پ ...
در این بخش قصد دارم تا در قالب یک پروژه، تمامی قابلیتهایی را که در angular-translate و ماژولهای مرتبط با آن وجود دارند، به شما معرفی کنم. پروژهی نمونه را از لینک زیر دریافت نمایید: AngularJs-Translate-BestPractices.zip
این پروژه در 12 بخش گوناگون تقسیم بندی شدهاست که هر کدام در قالب یک فایل HTML میباشد و تمامی اسکریپتهای مورد نیاز به آن افزوده شدهاست. هر بخش به صورت مجزا به شرح یک ویژگی کاربردی در angular-translate میپ ...
بررسی Semantic Models
همانطور که از قسمت قبل بهخاطر دارید، برای دسترسی به اطلاعات semantics، نیاز به یک context مناسب که همان Compilation API است، میباشد. این context دارای اطلاعاتی مانند دسترسی به تمام نوعهای تعریف شدهی توسط کاربر و متادیتاهای ارجاعی، مانند کلاسهای پایهی دات نت فریمورک است. بنابراین پس از ایجاد وهلهای از Compilation API، کار با فراخوانی متد GetSemanticModel آن ادامه مییابد. در ادامه با مثالها ...
بررسی API کامپایل Roslyn
Compilation API، یک abstraction سطح بالا از فعالیتهای کامپایل Roslyn است. برای مثال در اینجا میتوان یک اسمبلی را از Syntax tree موجود، تولید کرد و یا جایگزینهایی را برای APIهای قدیمی CodeDOM و Reflection Emit ارائه داد. به علاوه این API امکان دسترسی به گزارشات خطاهای کامپایل را میسر میکند؛ به همراه دسترسی به اطلاعات Semantic analysis. در مورد تفاوت Syntax tree و Semantics در قسمت قبل بیشت ...
بررسی Syntax tree
زمانیکه صحبت از Syntax میشود، منظور نمایش متنی سورس کدها است. برای بررسی و آنالیز آن، نیاز است این نمایش متنی، به ساختار دادهای ویژهای به نام Syntax tree تبدیل شود و این Syntax tree مجموعهای است از tokenها. Tokenها بیانگر المانهای مختلف یک زبان، شامل کلمات کلیدی، عملگرها و غیره هستند.
در تصویر فوق، مراحل تبدیل یک قطعه کد #C را به مجموعهای از tokenهای معادل آن مشاهده میکنید. عل ...
شروع به کار با Roslyn
Roslyn از زمان ارائهی نگارش Visual Studio 14 CTP3 با ویژوال استودیو یکپارچه شد. بنابراین اگر از نگارش نهایی آن یعنی Visual Studio 2015 استفاده میکنید، اولین پیشنیاز کار با آن را در اختیار دارید. البته نگارش پیش نمایش آن نیز برای VS 2013 ارائه شد که در این تاریخ منسوخ شده درنظر گرفته میشود و دیگر به روز رسانی نخواهد شد. بنابراین نیاز است حتما Visual Studio 2015 را نصب کنید.
در حین نصب Vi ...