Дополнительные параметры C# 4.0 - как указать дополнительный параметр типа “гуид”?

Вот мой метод:

public void SomeQuery(string email = "", Guid userId = Guid.Empty)
{
   // do some query
}

userId дает мне ошибку, поскольку это должно быть постоянное время компиляции, который я понимаю. Но даже когда я объявляю константу:

private const emptyGuid = Guid.Empty;

затем измените сигнатуру метода на:

public void SomeQuery(string email = "", Guid userId = emptyGuid)
{
   // do some query
}

все еще никакая любовь.

Что я пропускаю?

12
задан RPM1984 4 August 2010 в 00:36
поделиться

2 ответа

Пробовали ли вы установить его в новый экземпляр Guid ala:

public void SomeQuery(string email = "", Guid userId = new Guid())
{
   // do some query
}

Должно получиться.

20
ответ дан 2 December 2019 в 06:25
поделиться

Не лучше ли перегрузить метод версией, не требующей указания Guid? Это решило бы проблему и, на мой взгляд, было бы лучшим решением. Конечно, могут быть и другие ограничения, о которых я не знаю и которые требуют такой конструкции.

2
ответ дан 2 December 2019 в 06:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: