в

Беларусь

Belarusian .NET User Group

Контакты

Для связи: info ( @ ) belarusdotnet.org

либо dotnetby ( @ ) gmail.com

Наши партнеры

Минский институт управления
 
ООО Альторос Девелопмент - компания-резидент Парка высоких технологий, которая специализируется на создании тиражных продуктов под заказ с использованием новейших технологий, включая .NET Framework 3.5 и Windows Mobile.
 
JetBrains UG Program Member

Этот Блог

Engler

  • О встречах...

    Всем привет и с наступившим НГ!

     

    Что то давно мы не собирались вместе и наверное это было бы не плохо исправить =).

    В последнее время я работал в основном с технологией SharePoint, так что могу рассказать о ее возможностях.

    Особый интерес вызывает новая 2010-ая версия с новой функциональностью!

     

    Могу рассказать новшества SharePoint 2010: - ECM (Enterprise Content Management).

     

    Хотелось бы услышать отзывы, кому насколько это будет интересно

    (или же что хотелось бы узнать по подробнее касательно SharePoint 2007 / 2010)?

  • VS2010 и .NET 4.0 Beta 1 уже доступны

    Всем привет!

    Ну вот, наконец и свершился долгожданный момент:
    2010 студия с 4 фреемворком уже доступны в бета1

    здесь
  • C# 4.0 и параметры по умолчанию

    Пользуюясь тем, что это первый пост в этом году, хочу всех поздравить уже 

    с натупившим Новым Годом! Хотелось бы пожелать всем успехов, и реализации

    своих целей в этом году!

      Ну а теперь, о техническом.

     

    Сегодня, пример с нашей предыдущей  В этом примере, компилятор справедливо выдаст ошибку времени компиляции,говорящую о том, что отловлено переполнение.
    using System;
    namespace CSharp    
    {

       
    class Program
       
    {

           
    static void Main(string[] args)
           
    {
              Int32 val
    = Int32.MaxValue + 1;
           
    }
      
    }
    }

    НО теперь если попробовать перенести такой код, в значение аргумента по умолчанию,

    то компилятор скомпилирует, и даже выдаст результат "-2147483648". :-)
    using System;
    namespace CSharpFeatures   
    {

       
    class Program
       
    {

           
    static void Main(string[] args)
           
    {
              M
    ();
           
    }

       
    public static void M(int i = Int32.MaxValue + 1)
       
    {
            Console
    .WriteLine(i);
       
    }
     
    }
    }

     

  • C# 4.0 и dynamic

    В какой-то момент игрался с dynamic и приведением типов в C# 4.0. Ну и получился примерно такой код.

    По природе, такой код не должен скомпилироваться, т.к не существуетс неявного преобразования из dynamic в String.

    Вобщем-то этот код и не компилируется, правда по причине Internal Compiler Error :-).

    Забавно было увидеть, т.к ни разу еще не видел как падает компилятор.

    Компитентные источники сообщили, что во внутренних билдах(которые не доступны широкой публике) этот баг исправлен.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace Sample.Inner
    {
        public class C
        {
            public static void Test()
            {
                dynamic d = "Ooops...";
                Print(d);
            }

            public static void Print(String p)
            {
                Console.WriteLine(p);
            }
        }
    }

    namespace Sample
    {
        class Program
        {
            static void Main(string[] args)
            {
                Sample.Inner.C.Test();
            }
        }
    }

     

    Можно еще отметить следующий нюанс - если изменить область видимости метода Print,

    таким образом:

    private static void Print(String p) 

     то компилятор справедливо выдаст нормальную ошибку с описанием причины.

Сейчас на сайте

Community Server (Commercial Edition)