Вот мой метод:
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
}
все еще никакая любовь.
Что я пропускаю?
Пробовали ли вы установить его в новый экземпляр Guid
ala:
public void SomeQuery(string email = "", Guid userId = new Guid())
{
// do some query
}
Должно получиться.
Не лучше ли перегрузить метод версией, не требующей указания Guid? Это решило бы проблему и, на мой взгляд, было бы лучшим решением. Конечно, могут быть и другие ограничения, о которых я не знаю и которые требуют такой конструкции.