аварийное завершение работы консольного приложения

Это моя проблема:

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

namespace ConsoleApplication1
{
    public abstract class EntityMember<T>
    {
        public T Value { get; set; }
    }

    public class Int32EntityMember : EntityMember<int?>
    {
    }

    public class StringEntityMember : EntityMember<string>
    {
    }

    public class GuidEntityMember : EntityMember<Guid?>
    {
    }

    public class Entity 
    {
        public GuidEntityMember ApplicationId { get; private set; }
        public Int32EntityMember ConnectedCount { get; private set; }
        public GuidEntityMember MainApplicationId { get; private set; }
        public Int32EntityMember ProcessId { get; private set; }
        public StringEntityMember ProcessName { get; private set; }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Entity entity2 = new Entity();
            Guid empty = Guid.NewGuid();
            Guid applicationId = Guid.NewGuid();
            int Id = 10;
            string name = "koko";

            entity2.MainApplicationId.Value = new Guid?(empty);
            entity2.ApplicationId.Value = new Guid?(applicationId);
            entity2.ProcessId.Value = new int?(Id);
            entity2.ProcessName.Value = name;
            entity2.ConnectedCount.Value = 1;
        }
    }
}

Приложение полностью заблокировано на линии:

entity2.MainApplicationId. Value = new Guid? (empty); 

Почему?

1
задан Rob 26 August 2010 в 12:05
поделиться