فرض کنید Stored Procedure ی با چند مقدار برگشتی را میخواهیم در EF CodeFirst مورد استفاده قرار دهیم. برای مثال Stored Procedure زیر را در نظر بگیرید:
CREATE PROCEDURE [dbo].[GetAllBlogsAndPosts]
AS
SELECT * FROM dbo.Blogs
SELECT * FROM dbo.Posts
...
در C# 5 به بعد میتوان به پارامترهای یک متد، پارامترهای دلخواهی را افزود تا به واسطه آنها مشخصات کدی که این متد را فراخوانده، به دست آورد. روش انجام این کار، افزودن صفات زیر به پارامترهای متد مورد نظر است:
[CallerFilePath]:مسیر کد فراخواننده را نگه میدارد.
[CallerLineNumber]: شماره خط کد فراخواننده را
نگه میدارد.
[CallerMemberName] : ...
برای اجرای متد درون یک کلاس از طریق Reflection ابتدا نوع آن کلاس را به دست میآوریم و سپس از طریق کلاس Activator.CreateInstance یک نمونه از آن کلاس را ساخته و در متغیری از نوع object ذخیره کرده و با استفاده از GetMethod اطلاعات متد مورد نظر خود را در متغیری ذخیره کرده و سپس از طریق دستور Invoke آن متد را اجرا میکنیم. دستور Invoke دو سربارگذاری دارد که در یک نوع از آن، متغیر حاوی نمونه کلاس و پارامترهای متد مورد نظر، در قالب یک آرایه از ...
راه حلهای مختلفی جهت Highlight کردن لینک صفحه جاری وجود دارد و مهمترین کاربرد آن در منوی اصلی سایت است.
در این مطلب سعی داریم با ارائه یک Helper راه حل مناسبی را برای این موضوع ارائه کنیم. مسئولیت این Helper ایجاد لینک است با در نظر گرفتن یک شرط: آیا لینک ایجاد شده به Action جاری اشاره دارد؟ اگر بله یک CSS Class با عنوان currentMenuItem به آن اضافه کن.
public static MvcHtmlString MenuLink(this Htm ...
مثال ساده زیر را که در مورد تعریف یک کلاس Disposable و سپس استفاده از آن توسط عبارت using است را به همراه سه استثنایی که در این متدها تعریف شده است، در نظر بگیرید:
using System;
namespace TestUsing
{
public class MyResource : IDisposable
{
public void DoWork()
{
throw new ArgumentException("A");
}
public void Dispose()
{
throw new Argum ...