Named Anonymous Lambda

مثال زیر فکر کنم تمام شک و شبهات نسبت به این قضیه را از بین ببره :)
using System;

namespace anonylambda
{
    class Program
    {
        delegate string SQ(int v);

        static void Main(string[] args)
        {
            //named
            SQ sq = Square;

            //anonymous
            SQ an = delegate(int myVar){
                return (myVar * myVar).ToString();
            };

            //lambda
            SQ lm = x => (x * x).ToString();

            Console.WriteLine(sq(2) + " named method.");
            Console.WriteLine(an(2) + " anonymous method.");
            Console.WriteLine(lm(2) + " lambda method.");
            Console.ReadLine();

        }

        public static string Square(int myVar)
        {
            return (myVar * myVar).ToString();
        }
    }
}


پرینت فایل ها از راه دور

یه مسئله جالب : چطور میشه فولدر share ی درست کرد که هر فایلی که در اونجا قرار می دیم بره واسه پرینتر؟


برای رفع این مشکل توسط windows service و خیلی داستان های دیگه به این کد رسیدم...


ادامه نوشته

تولید کننده کدهای دو بعدی QR code

QR code generator for .NET 4.5+

The QR code generation routines are fully self-contained within this package. They do not call out to external services to generate the images.

To install Pitchfork.QRGenerator, run the following command in the Package Manager Console

PM> Install-Package Pitchfork.QRGenerator

REF:http://bit.ly/12Cpkdn


Introduction to ASP.NET Web Programming Using the Razor Syntax

صفحه بسیار عالی جهت کار کردن با Razor در زبان C#

Introduction to ASP.NET Web Programming Using the Razor Syntax (C#)

فرق متد های virtual  و  abstract

یک متد abstract می تواند هیچ بدنه ای نداشته باشد. در واقع شما می گوئید، هر کلاس فرزندی خودش الزاماً باید پیاده سازی این متد را تعریف کند. یک متد virtual می گوید، نگاه کن، این پیاده سازی است که ممکن است در کلاس های فرزند بدرد بخورد و امکان هم دارد که بدرد نخورد، پس اگر بدرد می خورد از آن استفاده کنید و اگر بدرد نمی خورد خودت آنرا پیاده سازی کن. (لینک مرجع)

•    فقط متد abstract را در کلاس abstract می توان تعریف کرد.
•    متد abstract دقیقاً مثل interface است.
•    متد abstract پیاده سازی ندارد.

کی کدام؟
وقتیکه می دانیم کلاس هایی که می خواهند از کلاس پدر مشتق شوند همگی دارای متد هایی هستند که پیاده سازی آنها معلوم نیست از متد abstract استفاده می کنیم. اما اگر می دانیم که کلاس های مشتق می شوند اغلب یک پیاده سازی پیش فرض از متد را دارا هستند آنوقت آنها را بصورت virtual تعریف می نماییم.

فرق try-catch و try-finally

فرق این دو این است که در try-catch اشتباهی که اتفاق افتاده (exception) قورت داده می شود. ولی در try-finally بلاک کد finally اجرا می شود و اشتباه اتفاق افتاده راه خود را طی می کند تا توسط یک handler گرفته شود . مرجع

به گفته msdn "مورد استفاده از finally برای از بین بردن منابعی که در بلاک try ساخته شده بدون در نظر گرفتن خطا می باشد."

فرق const و readonly

Const
•    Const نمی تواند static تعریف گردد. (بطور ضمنی static می باشد. می توان ClassName.ConstantName آنها را فراخوانی کرد.)
•    مقدار آنها در زمان کامپایل در کد IL ذخیره می گردد.(با تغییر مقادیر آنها لازم به کامپایل مجدد می باشد. در واقع در زمان کامپایل مثل find و replace کردن هرجا ثابت const باشد بجای آن مقدارش قرار می گیرد)

•    Const را تنها در قسمت declaration می توان مقدار دهی کرد.

Readonly
•    می توانند هم static و هم غیر استاتیک (instance level) تعریف شوند.
•    مقدار دهی آنها در run time انجام می شود.
•    می توانند در قسمت declaration و هم در قسمت سازنده constructor مقدار دهی شوند.

برای مطالعه بیشتر می توان به اینجا و اینجا مراجعه کرد.


ساخت فایل اکسل xls یا xlsx توسط #C و Asp.net

اول همه فکر می کنند export to excel کردن با Asp.net و#C نباید کار سختی  باشه. من هم از این قاعده مستثنی نبودم ضمن اینکه قبلا هم توسط یه کتابخونه خوب بنام ExcelPackage بار ها این کار را کرده بودم.

اما این دفعه قضیه فرق کرد تا دیروز دیتا می فرستادم تو اکسل (که همونطور که عرض کردم با ExcelPackage این کار مثل خوردن هلو بود) اما امروز می خواستم عکس هم بفرستم (به همین سادگی ! کی فکر می کنه آخه این کار باعث بشه 4 روز آدم علاف بشه و التماس گوگل و stackoverflow کنه.) بهر حال رسیدم به یه پست جالب تو یه وبلاگ که دیدم این بیچاره هم تمام راههایی که من رفتم و یه بار قبلاً طی کرده و به جواب رسیده خیلی خوشم اومد که چه قشنگ هم همه مراحل را نوشته حالا من دیگه تکرار مکررات نمی کنم خودتون تو این پست ببینید چه مصائبی جلو راهمون هست.

اما راه حل نهایی که می تونه آدم و از شر این گیر و گورها خلاص کنه کتابخونه NPOI بود که می شه از لینک زیر دانلودش کرد تو خودش مثال هم داره.

http://npoi.codeplex.com/documentation

روابط در Entity Framework

در حال نوشتن مطلبی درباره تعریف روابط در EF 4.1 و Code First هستم. مقاله هنوز ناقصه ولی لینکش را اینجا میگذارم.


نسخه docx

نسخه pdf