All pastes #1272750 Raw Edit

Something

public text v1 · immutable
#1272750 ·published 2008-12-01 22:25 UTC
rendered paste body
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication10
{
    public class MyException : Exception
    {
        public readonly int MyValue;

        public long MyTest
        {
            get;
            private set;
        }

        public MyException (int value)
        {
            this.MyValue = value;
            this.MyTest = 1 << value;
        }

        public override string ToString ()
        {
            return String.Format ("MyException ({0}:{1})", MyValue, MyTest);
        }
    }

    public class Foo
    {
        public int Data;
        protected int Data2;
        private int Data3;
        public int Data4;
        internal int Data5;

        protected double TestProperty
        {
            get { return Data * Math.E; }
        }

        internal static long StaticData;

        private static double StaticTest
        {
            get { return StaticData * Math.PI; }
        }

        public Foo (int data)
        {
            this.Data = data;
            this.Data2 = 2 * data;
            this.Data3 = 3 * data;
            this.Data4 = 4 * data;
            this.Data5 = 5 * data;
            StaticData = 1 << data;
        }

        public void Test ()
        { }

        public override string ToString ()
        {
            return String.Format ("Foo ({0}:{1}:{3}:{4}:{5}:{6}:{7})",
                Data, Data2, Data3, Data4, Data5, StaticData, StaticTest, TestProperty);
        }
    }

    public class Bar : Foo
    {
        public Bar ()
            : base (11)
        { }
    }

    class X
    {
        public DateTime Test
        {
            get { return DateTime.Now; }
        }

        public long Error
        {
            get { throw new MyException (9); }
        }

#if FIXME
        public int Timeout
        {
            get { while (true) ; }
        }
#endif

        public X (int a)
        {
            this.A = a;
        }

        protected readonly int A;

        void Hello ()
        {
            Console.WriteLine (A);
        }

        void Method (out int a)
        {
            a = 9;
        }

        public override string ToString ()
        {
            throw new MyException (11);
        }

        static void Main (string[] args)
        {
            Foo foo = new Foo (9);
            foo.Test ();

            Bar bar = new Bar ();
            bar.Test ();

            X x = new X (5);
            x.Hello ();

            int a;
            x.Method (out a);

            try
            {

                Console.WriteLine (x.Error);
            }
            catch (Exception ex)
            {
                Console.WriteLine (ex.Message);
            }
        }
    }
}