Дневник веб-программиста

My Links

Blog Stats

News

Статьи

Archives

Post Categories

Articles

Блоги

Личное

Сайты

Утилиты

Несколько интересных советов из книги Рихтера CLR via С#

Недавно купил себе книгу Джеффри Рихтера CLR via C#. Программирование на платформе Microsoft.NET Framework 2.0 на языке C#. Начал читать с самого начала несмотря на то что там объясняются базовые принципы .NET Framework/CLR/C# с которыми я уже знаком. Решил таким образом освежить знания. По ходу чтения наткнулся на пару новых моментов, которыми и хочу поделиться.

  1. В C# можно делать структуры с перекрывающимеся полями. В С++ это известно как union.
    [StructLayout(LayoutKind.Explicit, Size=4)]
    public struct Int32Union
    {
    [FieldOffset(0)]public byte Byte1;
    [FieldOffset(1)]public byte Byte2;
    [FieldOffset(2)]public byte Byte3;
    [FieldOffset(3)]public byte Byte4;
    [FieldOffset(0)]public int intValue;
    }
  2. Если у вас есть сборка с internal классами и требуется предоставить другой своей сборке доступ к ним (а объединить эти сборку в одну нельзя по тем или иным причинам), то вас спасет атрибут InternalsVisibleTo

  3. Для проверки хватит ли программе памяти для выполнения, можно использовать класс MemoryFailPoint. Он проверит можно ли выделить необходимый объем памяти в мегабайтах без возбуждения исключения OutOfMemoryException. Вместо него используется InsufficientMemoryException.

Несколько замечаний о самой книге. Радует то что книга в красивом твердом переплете. Однако растроил уровень перевода и рецензирования. Как видно над книгой работал коллектив переводчиков и поэтому некоторые термины переводятся в начале и конце книги по разному. Например, термин working set в начале книги переводится как "рабочее множество", а в конце как "рабочий набор". Последний перевод я считаю более правильным и к тому же он уже устоялся.

posted on Thursday, April 12, 2007 11:20 AM

Feedback

No comments posted yet.
Title  
Name  
Url
Comments   
Protected by Clearscreen.SharpHIPEnter the code you see: