ably ably برای هدایت شدن به سایت جدید اینجا کلیک کنید

آموزش برنامه نویسی

آموزش برنامه نویسی وب، اندروید، ویندوز , اسکیوال و...
Tell: 0912 097 5516
| Email: Hello@EduOnline.ir

۲۱ مطلب با کلمه‌ی کلیدی «آموزش MVC .NET 4» ثبت شده است

ASP.NET vNext

بسم الله الرحمن الرحیم

معرفی ASP.NET vNext


مایکروسافت نسل جدیدی از ASP.NET را در TechEd North America در تاریخ اعلام 12 May 2014 اعلام کرد که این محصول جدید ASP.NET vNext نام دارد.  ASP.NET vNext شامل امکانات جدیدی همچون نسخه MVC6 که برای Cloud بهینه سازی شده است و Web API3،Web Pages4, SignalR3  و Entity Framework7 است.

 ویژگی های ASP.NET vNext

ASP.NET vNext  شامل امکانات جدیدی همچون نسخه MVC6 که برای Cloud بهینه سازی شده است  Web API, Web Pages, SignalR و Entity Framework است.
 

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

Cache کردن اطلاعات ASP.NET MVC

بسم الله الرحمن الرحیم

در این بخش قصد داریم نحوه افزایش سرعت بارگذاری صفحات در ASP.NET MVC را بررسی کنیم.

افزایش سرعت صفحات در ASP.NET MVC

برای افزایش کارایی برنامه های تحت وب Cache کردن اطلاعات بسیار مهم است. کش کردن اطلاعات یک راه برای ذخیره سازی اطلاعاتی است که مجددا باید مورد دسترسی قرار می گیرند. در عمل این یک راه موثر برای افزایش کارایی وب سایت ها است.

مزایای کش کردن اطلاعات


کاهش میزبانی اطلاعات بر روی سرور

هنگامی که شما اطلاعات را بر روی کلاینت یا پروکسی کش می کنید، عملا سرور شما درخواست های کمتری را باید پاسخ دهد.

کاهش فشار بر روی پایگاه داده

وقتی شما اطلاعات را در وب سرور کش کنید، می توانید درخواست ها را از دیتابیس حذف کنید.

کاهش ترافیک شبکه

هنگامی که شما اطلاعات را بر روی کلاینت کش می کنید، ترافیک شبکه شما کاهش پیدا می کند.

حذف زمان ها برای بازیابی اطلاعات تکراری

زمان هایی که صرف استفاده از اطلاعاتی که چندین بار مورد درخواست  قرار خواهند گرفت، حذف می شود

افزایش کارایی

هنگامی که اطلاعات را کش می کنید، زمان کمتری برای بازیابی اطلاعات لازم است، ترافیک شبکه کمتر مصرف می شود، به سرور کمتر برای پاسخگویی نیاز خواهد بود و همه این کارهای باعث می شود تا کارایی سایت شما افزایش پیدا کند.

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

ساخت Scroll Top

بسم الله الرحمن الرحیم

طبیعتا همه شما دکمه های Top را در کنار صفحات وب سایت ها دیده اید که با کلیک بر روی آن می توانید به بالای سایت باز گردید.

در این آموزش می خواهیم کد این دکمه را در jQuery  بنویسیم.

یک صفحه HTML ایجاد کنید و کد jQuery را به صفحه خود اضافه کنید.

jquery-1.8.0.min.js

سپس یک فایل js ایجاد کنید و کد زیر را در آن قرار دهید.

  $.fn.scrollView = function () {
    return this.each(function () {
      $('html, body').animate({
        scrollTop: $(this).offset().top
      }, 1000);
    });
  }

با استفاده از این کد ما ظرف مدت زمان یک ثانیه از محلی که بر روی لینک کلیک می کنیم به ابتدای صفحه انتقال پیدا می کنیم.

کد زیر را نیز در همین فایل قرار دهید.

$('#scroll-link').click(function (event) {
  event.preventDefault();
  $('#header').scrollView();
});

header ای دی element ای است که در ابتدای صفحه قرار می دهیم و می خواهیم پس از کلیک بر روی scroll-link به آن جا انتقال پیدا کنیم

حال این فایل را نیز به صفحه خود اضافه کنید.

در بالای صفحه یک div با  id منحصر به فردی ایجاد کنید تا هنگامی که ما بر روی لینک پایین صفحه کلیک می کنیم به این div لینک شود.

<div id="header"></div>

در پایین صفحه یک تگ a به صورت زیر اضافه کنید

<a href="#" id="scroll-link">TOP</a>

در نهایت صفحه خود را با مطلبی پر کنید تا اسکرول آن نمایش داده شود

کد این آموزش را می توانید از این جا دانلود کنید.

پسورد فایل

EduOnline.ir

دانلود jQuery Scroll bar
حجم: 32.7 کیلوبایت

نحوه بدست آوردن تمامی Action و Controller های یک پروژه MVC

بسم الله الرحمن الرحیم

ممکن است شما بخواهید در یک پروژه MVC لیست تمامی کنترلر ها و اکشن های پروژه خود بدست آورید.

در اینجا یک Extension متد نوشته ام که می توانید به سادگی لیست تمامی کنتترلرهای برنامه خود را بدست اورید:

اگر با متدهای توسعه یا همان Extension متد آشنایی ندارید، این مطلب را بخوانید

     public static List<string> GetControllerNames(this System.Web.Mvc.Controller controller)
        {
           try
            {


            List<string> controllerNames = new List<string>();
            GetSubClasses<System.Web.Mvc.Controller>().ForEach(
                type => controllerNames.Add(type.Name));
            return controllerNames;
              }
           catch (Exception exception)
           {
               throw new Exception(exception.Message);
           }
        }

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

List<string> listController = Controller.GetControllerNames();

ممکن است بخواهید لیست اکشن های یک کنترلر را نیز بدست آورید برای این کار نیز یک متد دیگر نوشته ام که اینکار را برای شما انجام می دهد

 public static List<string> ActionNames(string controllerName)
        {
            try
            {

            var types =
                from assemblies in AppDomain.CurrentDomain.GetAssemblies()
                from assembliesTypes in assemblies.GetTypes()
                where typeof(System.Web.Mvc.IController).IsAssignableFrom(assembliesTypes) &&
                        string.Equals(controllerName + "Controller", assembliesTypes.Name, StringComparison.OrdinalIgnoreCase)
                select assembliesTypes;

            var controllerType = types.FirstOrDefault();

            if (controllerType == null)
            {
                return Enumerable.Empty<string>().ToList();
            }
            return new System.Web.Mvc.ReflectedControllerDescriptor(controllerType)
                .GetCanonicalActions().Select(x => x.ActionName)
                .ToList();
      }
            catch (Exception exception)
            {
                throw new Exception(exception.Message);
            }
        }

برای استفاده از این متد باید به صورت زیر عمل کنید:

List<string> listAction = ActionNames("AccountController");

انشالله که مفید واقع شود.

بدست آوردن تمامی کلاس های یک namespace

بسم الله الرحمن الرحیم

با استفاده از کد زیر شما می توانید نام تمامی کلاس های موجود در یک namespace را بدست آورید

using System.Reflection;
private Type[] GetTypesInNamespace(Assembly assembly, string nameSpace)
{
    return assembly.GetTypes().Where(t => String.Equals(t.Namespace, nameSpace, StringComparison.Ordinal)).ToArray();
}

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

Type[] typelist = GetTypesInNamespace(Assembly.GetExecutingAssembly(), "MyNamespace");
for (int i = 0; i < typelist.Length; i++)
{
    Console.WriteLine(typelist[i].Name);
}

آموزش serialize کردن اشیا

بسم الله الرحمن الرحیم

 

ممکن است شما بخواهید یک شی از کلاس را در یک XML فایل ذخیره کنید، برای این کار می بایست شی خود را serialize کنید.

در این آموزش نحوه serialize را بررسی خواهیم کرد.

 

یک پروژه جدید از نوع windows Application  ایجاد کنید.

یک کلاس با نام MyClass به پروژه اضافه کنید و کد آن را به صورت زیر تغییر دهید:

public class MyClass

{

    // old school property

    private int _Age;  

    public int Age  

    {

        get { return _Age; }

        set { _Age = value; }

    }

 

    // new school property

    public bool Citizen { get; set; }

 

    // there's nothing wrong with using fields

    public string Name;  

}

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

افزایش سرعت Insert کردن رکورد ها در MVC

بسم الله الرحمن الرحیم





در این آموزش می خواهیم با روش جدید Insert کردن رکوردهایی با تعداد بالا به وسیله MVC آشنا کنیم و همچنین نحوه افزایش سرعت Insert کردن را فرا بگیریم.


EntityFramework.BulkInsert


یک extension برای Entity framework 4 به بالا است که سرعت Insert کردن شما در insert های عظیم تا 20 برابر افزایش می دهد.
این extension از روش Code First و Database First پشتیبانی می کند.

Entity Framework

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

اضافه کردن متد به LINQ

بسم الله الرحمن الرحیم

 

می خواهیم به تمامی لیست هایی که از نوع double ایجاد می شوند یک متد برای پیدا کردن عنصر میانی آنها بنویسیم

 

public static class LINQExtension
{
    public static double Median(this IEnumerable<double> source)
    {
        if (source.Count() == 0)
        {
            throw new InvalidOperationException("Cannot compute median for an empty set.");
        }

        var sortedList = from number in source
                         orderby number
                         select number;

        int itemIndex = (int)sortedList.Count() / 2;

        if (sortedList.Count() % 2 == 0)
        {
            // Even number of items.
            return (sortedList.ElementAt(itemIndex) + sortedList.ElementAt(itemIndex - 1)) / 2;
        }
        else
        {
            // Odd number of items.
            return sortedList.ElementAt(itemIndex);
        }
    }
}

 

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

Linq extension method

بسم الله الرحمن الرحیم

می خواهیم یک Extesion Method مانند متدهای Linq برای Model ایی خاص بنویسیم.

دو نکته را برای نوشتم متدهای توسعه (Extension Method) باید رعایت کنید:

1- متد را باید در کلاسی بنویسید که از نوع static باشد

2- namespace شما باید با namespace کلاسی که می خواهید برای آن Extension Method بنویسید یکسان باشد

ما می خواهیم وقتی از شی DbContext مدل Active  را انتخاب می کنیم مانند متد ()FirstOrDefault لینک (LINQ) یک متد برای اجرای یک دستور خاص نمایش داده شود:

public static class Extensions
{
    public IQueryable<T> Active<T>(this IQueryable<T> source)
        where T : YourEntityType
    {
        return source.Where(a => ((a.publishEnd > DateTime.Now) || (a.publishEnd == null))
                          && ((a.publishStart <= DateTime.Now) || (a.publishStart == null))
                          && a.active == true);
    }
}

برای فراخوانی متد به صورت زیر می توانیم عمل کنیم:

var item = db.myTable.Active().SingleOrDefault(...);

آموزش ساخت Connection String

بسم الله الرحمن الرحیم

یک راه ساده برای ایجاد و تست Connection String امروز فرا خواهید گرفت.

برای شروع کافی است در دسکتاپ خود کلیک راست کنید و گزینه new را انتخاب و سپس یک فایل Text Document ایجاد کنید حال پسوند فایل ایجاد شده را به UDL تغییر دهید (یادتان باشد باید پسوند فایلها را ابتدا از طریق Control Panel -> Folder Options -> View گزینه Hide extensions for known file type را غیر فعال کنید ). حال بر روی فایل دابل کلیک کنید تا باز شود و به ترتیب می توانید مشخصات نام سرور خود، نام کاربری و کلمه عبور سرور خود و در نهایت انتخاب پایگاه داده خود را انجام دهید.

در نهایت پس از تکمیل اطلاعات بر روی گزینه Test Connection  کلیک کنید تا مطمن شوید یک کانکشن صحیح ایجاد شده است.

برای استفاده از Connection String تولید شده می توانید بر روی فایل کلیک راست کنید و آن را دریک برنامه مثل Notepad باز کنید و از اطلاعات آن استفاده کنید.

خطا Validation failed for one or more entities

بسم الله الرحمن الرحیم

طبیعتا تاکنون در حین اجرای پروژه با خطای زیر برخورد کردید:

Validation failed for one or more entities. See 'EntityValidationErrors' property for more details. Description: 
An unhandled exception occurred during the execution of the current web request.
Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.Entity.Validation.DbEntityValidationException:
Validation failed for one or more entities. See 'EntityValidationErrors' property for more details.

هر یک از شما دوستان ممکن است راه حل های زیادی برای حل این مشکل داشته باشید.

در اینجا خطایی به دلیل خالی بودن و تکمیل نشده اطلاعات رخ می دهد در صورتی که ممکن است این فیلدها بر روی فرم اصلا وجود نداشته اند مثلا شما یک ویو مدل از مدل ساخته اید و تنها بخشی از اطلاعات مدل را می خواهید برروز کنید.

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

خطا Cannot insert the value NULL into column

بسم الله الرحمن الرحیم

خطای زیر را مشاهده کنید:

Cannot insert the value NULL into column 'FirstLastName', table 'RequestSessions'; column does not allow nulls. INSERT fails.The statement has been terminated. 

در مدلی که دارید کار می کنید فیلدی وجود دارد که در دیتابیس نمی تواند null باشد برای رفع این مشکل باید در اکشن خود مدل را مقدار دهی کنید

  مثلا

Account.FirstLastName=”Esmaeil”;

آموزش Code First Data Annotations - بخش چهارم

بسم الله الرحمن الرحیم

 برای مشاهده سایر بخش های دوره آموزش Code First Data Annotations از طریق لینکهای زیر اقدام نمایید.

بخش اول

بخش دوم

بخش سوم

بخش چهارم

بخش چهارم

Index

ایندکس گزاری بر روی جداول

خاصیت Index در EF6.1 معرفی شده است و فقط توسط این نسخه از Entity Framework  می توانید این کار را انجام دهید. اگر از نسخه های قدیمی Entity Framework استفاده می کنید نمی توانید این کار را انجام دهبد.

شما می توانید بر روی یک یا چند ستون از جدول خود با استفاده از IndexAttribute ایندکس گذاری کنید.

اضافه کردن این خاصیت به یک یا چند پراپرتی باعث می شود EF در زمان ایجاد دیتابیس یا اگر شما از Code First Migrations استفاده کنید scaffold ایندکس های مربوطه را ایجاد کند.

مثال، در زیر index بر روی ستون های Rating و Posts ایجاد شده است.

public class Post 
{
    public int Id { get; set; }
    public string Title { get; set; }
    public string Content { get; set; }
    [Index]
    public int Rating { get; set; }
    public int BlogId { get; set; }
}

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

T4MVC

بسم الله الرحمن الرحیم

 معرفی T4MVC

T4MVC می تواند بر روی نسخه های Visual Studio 2010, 2012  و  2013نصب شود وASP.NET MVC 4.0  و  5.0این Package را پشتیبانی می کنند، شاید بتوانید بر روی سایر نسخه ها از این Package استفاده کنید اما این Package فقط بر روی گزینه های گفته شده تست شده است.

 

نصب T4MVC

برای نصب این Package کافی است که دستور زیر را از طریق Package Manager Console اجرا کنید

Install-Package T4MVC

پس از اجرای این دستور دو فایل به پروژه شما اضافه می شود.

هدف T4MVC

این Package برای جلوگیری از نوشتن اسامی کنترلر ها و اکشن ها و در نهایت view ها به صورت Hard Code مورد استفاده قرار می گیرد.

برای مثال کدزیر را در نظر بگیرید:

<% Html.RenderPartial("DinnerForm"); %>

 

ما از عبارت های رشته ای برای فراخوانی این Partial استفاده کرده ایم، اگر فردا شما بخواهید این نام را تغییر دهید باید در بهترین و سریعترین روش ممکن با استفاده از Finde ویژوال استادیو تمامی نام های مربوطه را تغییر دهید.

اما چرا از ابتدا از روش دیگری استفاده نکنیم!

T4MVC در واقع نام تمامی View,Conreoller,Action ها را به صورت خودکار در خود ذخیره می کند و عملا یک Enumeration  برای شما به وجود می آورد تا در آینده در صورتی که نامی را برای یک View,Conreoller,Action عوض کردید، این نام در تمامی پروژه عوض شود.

مثال:

<% Html.RenderPartial("DinnerForm"); %>

از این به بعد ما نام ها را به صورت زیر خواهیم نوشت:

 

<% Html.RenderPartial(MVC.Dinners.Views.DinnerForm); %>

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

fluent API در Code First

بسم الله الرحمن الرحیم

fluent API

در MVC برای ایجاد روابط بین جداول می توانید از fluent API استفاده کنید، این روش برای کد نویسی و طراحی دیتابیس به روش Code First می باشد:

One-to–Zero-or-One (روابط یک به یک)

modelBuilder.Entity<OfficeAssignment>() 
    .HasKey(t => t.InstructorID);

به رابطه بالا One-to–Zero گفته می شود زیرا شما فقط کلید اصلی جدول را مشخص کرده اید آن را به هیچ جدول دیگری ارتباط نداده اید.

modelBuilder.Entity<OfficeAssignment>() 
    .HasRequired(t => t.Instructor)
    .WithOptional(t => t.OfficeAssignment);

در این رابطه ما یک رابطه One-to-One ایجاد کرده ایم. در این رابطه سمت OfficeAssignment اختیاری است.

برای اجباری کردن هر دو سمت در یک رابطه یک به یک می توانید به صورت زیر عمل کنید:

modelBuilder.Entity<OfficeAssignment>() 
    .HasKey(t => t.InstructorID);
 
modelBuilder.Entity<Instructor>()
    .HasRequired(t => t.OfficeAssignment)
    .WithRequiredPrincipal(t => t.Instructor);

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

Entity Farmework و Code First

بسم الله الرحمن الرحیم

 

برای طراحی پایگاه داده به وسیله Entity Farmework  و Code First بهتر است این چند نکته را رعایت فرمایید:

 

بهتر است از نام Id به عنوان نام تمامی کلید های اصلی جداول استفاده کنید هر چند در بحث

convention over configuration این نکته مورد قبول است اما چیزی را که همه آن را به عنوان یک قرارداد نانوشته قبول دارند را عوض نکنید تا برای انجام کار توضیحاتی لازم نباشد.

بهتر است از نوع GUID برای کلید های اصلی جداول استفاده کنید. نوع int از لحاظ واکشی اطلاعات سریعتر است زیرا مقایسه عددی سریعتر از مقایسه رشته ای است.

باید در نظر داشته باشید در جداولی مثل شهر، استان، کشور می توانید از نوع int برای کلید اصلی استفاده کنید و هیچ مشکلی نخواهد بود اما بهتر است برای جداول اطلاعاتی که شماره ها بسیار ارزشمند هستند و بهتر است در کل دیتابیس عدد منحصر به فرد باشد از نوع GUID استفاده شود.

بهتر است نام کلیدهای خارجی یک نام از جدول + کلمه ای دی باشد:

مثلا: ProductId

برای تعیین نامی مشخص برای ذخیره property ها در دیتابیس می توانید به صورت زیر عمل کنید:

 

 [Column(“ProductId", TypeName="Guid")] 

 

با توجه به اینکه در MVC به صورت پیش فرض اگر Maxlength برای یک Property String تعیین نشود nvarchar(MAX) در دیتابیس در نظر گرفته می شود، لذا برای تمامی Property مقدار Maxlength را تعریف کنید مگر در شرایطی که نیاز به رشته های طولانی دارید.

با توجه به نحوه ذخیره سازی رشته ها در SQL Server ، اگر یک رشته می تواند در نوع nvarchar(300)  ذخیره شود از این نوع استفاده کنید.

با توجه به اینکه در Entity Framework 6 از روی نوع enum فیلد مناسب در دیتابیس ساخته می شود اما بهتر است فیلدهای از نوع enum به صورت int تعریف شوند و شما خودتان نوع بازیابی شده از دیتابیس را به enum تبدیل کنید.

مثلا

Public int CustomerType {get; set;};

 در نام گذاری property ها این نکته را در نظر داشته باشید که نباید از کلمات کلیدی (SQL Server,Oracle,…) استفاده کنید

مثلا: [Order]

 

برطرف کردن مشکل LINQ to Entities does not recognize

بسم الله الرحمن الرحیم

Server Error in '/' Application.


LINQ to Entities does not recognize the method 'EduOnline' method, and this method cannot be translated into a store expression.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

این خطا زمانی رخ می دهد که شما می خواهید یک دستور مشابه دستور زیر اجرا کنید:

db.Accounts.Where(m => m.AccountType == Enum.AccountTypes.Admin

برای حل این مشکل کافی است که کد خود را به صورت یک عبارت مشخص قابل بررسی توسط LINQ تبدیل کنید، مثلا در اینجا می توانید به صورت زیر و خیلی ساده کد خود را بنویسید و مشکل خود را حل نمایید:

db.Accounts.Where(m => m.AccountType == (int)Enum.AccountTypes.Admin)

در اینجا شما با تبدیل عبارت خود به یک به عبارت قابل مقایسه برای LINQ این مشکل را حل کرده اید

CodeSnippets

بسم الله الرحمن الرحیم

برای نوشتن سریعتر دستورات سی شارپ می توانید از Snippets Code استفاده کنید برای استفاده از این ویژگی کافی است کلید CTRL را به همراه K فشار دهید و سپس کلید S را نیز بزنید حال لیست دستوراتی را مشاهده می کنید که می توانید آن ها را انتخاب کنید در زیر این لیست قرار داده شده است.

برای نوشتن تمامی دستورات زیر کافی است متن نوشته شده را بنویسید و سپس دو بار کلید TAB را از روی کیبورد فشار دهید

نام دستور

توضیحات

if#

Creates a #if directive and a #endif directive.

region#

Creates a #region directive and a #endregion directive.

~

Creates a destructor for the containing class.

attribute

Creates a declaration for a class that derives from Attribute.

checked

Creates a checked block.

class

Creates a class declaration.

ctor

Creates a constructor for the containing class.

cw

Creates a call to WriteLine.

do

Creates a do while loop.

else

Creates an else block.

enum

Creates an enum declaration.

equals

Creates a method declaration that overrides the Equals method defined in the Object class.

exception

Creates a declaration for a class that derives from an exception (Exception by default).

for

Creates a for loop.

foreach

Creates a foreach loop.

forr

Creates a for loop that decrements the loop variable after each iteration.

if

Creates an if block.

indexer

Creates an indexer declaration.

interface

Creates an interface declaration.

invoke

Creates a block that safely invokes an event.

iterator

Creates an iterator.

iterindex

Creates a "named" iterator and indexer pair by using a nested class.

lock

Creates a lock block.

mbox

Creates a call to MessageBox.Show. You may have to add a reference to System.Windows.Forms.dll.

namespace

Creates a namespace declaration.

prop

Creates an auto-implemented property declaration.

propfull

Creates a property declaration with get and set accessors.

propg

Creates a read-only auto-implemented property with a private "set" accessor.

sim

Creates a static int Main method declaration.

struct

Creates a struct declaration.

svm

Creates a static void Main method declaration.

switch

Creates a switch block.

try

Creates a try-catch block.

tryf

Creates a try-finally block.

unchecked

Creates an unchecked block.

unsafe

Creates an unsafe block.

using

Creates a using directive.

while

Creates a while loop.

اضافه کردن فیلد nullable در دیتابیس با EF

بسم الله الرحمن الرحیم

اگر بخواهید پراپرتی زیر را به صورت nullable در پایگاه داده ذخیره کنید

[Required]
public int somefield {get; set;}

می بابیست کد خود را به صورت زیر تغییر دهید

[Required]
public int? somefield {get; set;}

علامت "؟" بعدر از نوع متغییر باعث می شود که این متغییر مقدار null را نیز بپذیرد.

همچنین با استفاده از روش Fluid API می توانید اینکار را انجام دهید:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
        modelBuilder.Entity<SomeObject>().Property(m => m.somefield).IsOptional();            
        base.OnModelCreating(modelBuilder);
}

آموزش برنامه نویسی سریع

ّبسم الله الرحمن الرحیم

بسیاری از کارهایی که ما در پروژه ها انجام می دهیم تکراری است از نوشتن یک کد ساده تا نوشتن یک کلاس و حتی خود یک پروژه!!

برای افزایش سرعت برنامه نویسی و تولید نرم افزار باید شما مجموعه ای از ابزار های مفید را برای خود ایجاد نمایید.

در این آموزش شما را با یک روش ساده برای افزایش نوشتن توابع و متدهای تکراری آشنا خواهم کرد

همه شما حداقل یک بار اینگونه توابع را نوشته اید

 

public void MyMethod()
        {
            try
            {

            }
            catch (Exception exception)
            {
                throw new Exception(exception.Message);
            }
            finally
            {

            }
       }

مثل همیشه مختصر و مفید، می خواهیم کاری انجام دهیم تا دیگر هیچ وقت اینگونه توابع را ننویسیم.

در ابتدا برای آموزش، فکر کنید میخواهید یک حلقه for بنویسید برای این کار، من راه بهتری سراغ دارم.

ابتدا کلمه for را بنویسید و سپس دو بار کامند TAB را بر روی کیبورد خود فشار دهید (یک حلقه for کامل نوشته شد).

فکر کنید می خواهید کد زیر را بنویسید:

public string StartSection { get; set; }

کلمه prop را بنویسید و سپس دوبار کامند TAB را بر روی کیبورد فشار دهید!!!

به این ابزار Code Snippet گفته می شود که از نوشتن کدهای تکراری جلوگیری می کند.

خوب حال به مسیر زیر بروید

C:\Users\{UserName}\Documents\Visual Studio 2013\Code Snippets\Visual C#

من از ویژوال استادیو 2013 استفاده می کنم پس در آدرس بالا Visual Studio 2013 نوشته شده است شاید نسخه شما متفاوت باشد (دنبال نسخه خود باشید).

بجای {UserName} باید دنبال پوشه ای که مربوط به نام کامپیوتر شما است باشید. مثلا

C:\Users\EduOnlien User\Documents\Visual Studio 2013\Code Snippets\Visual C#

اگر مسیر را پیدا نکردید، در هر مسیری که دوست دارید پوشه زیر را extract کنید.

دریافت کد نویسی به روش EduOnline
حجم: 2.52 کیلوبایت
EduOnline SniptCode

حال در ویژوال استادیو خود، منو Tools را از نوار منو بالا انتخاب کنید و سپس منو Code Sinppets Manager را انتخاب کنید در پنجره باز شده از قسمت

Language گزینه Visual C# l را انتخاب کنید و سپس گزینه Add را بزنید و به درون فولدری (حتما باید درون فولدر EduOnline SniptCode قرار گرفته باشید) که دانلود کرده اید بروید و سپس گزینه Select Folder را بزنید، سپس Ok را انتخاب کنید تا پنجره بسته شود.

حال در بخش کد نویسی خود عبارت

pum را بنویسید و سپس دوبار کلید Tab را بر روی کیبورد خود فشار دهید، سه گزینه به شما نمایش داده می شود که می توانید هر یک را انتخاب کنید.

برای کد نویسی در MVC  نیز می توانید کلمه act را بنویسید و سپس دوبار کلید Tab را بر روی کیبورد خود فشار دهید.

up
ما را در گوگل محبوب کنید