Просто объясните, почему вам нужно вызвать NewGuid, а не использовать конструктор по умолчанию... В .NET все структуры (типы значений, такие как int, decimal, Guid, DateTime и т.д.) должны иметь конструктор без параметров без параметров, который инициализирует все поля по умолчанию. В случае Guid байты, составляющие Guid, равны нулю. Вместо того, чтобы делать особый случай для Guid или делать его классом, они используют метод NewGuid для генерации нового "случайного" руководства.