Ответ 1
Попробовали ли вы установить его в новый экземпляр Guid
ala:
public void SomeQuery(string email = "", Guid userId = new Guid())
{
// do some query
}
Должен сделать трюк.
Здесь мой метод:
public void SomeQuery(string email = "", Guid userId = Guid.Empty)
{
// do some query
}
userId
дает мне ошибку, так как это должна быть константа времени компиляции, которую я понимаю. Но даже когда я объявляю const:
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? Это решило бы проблему, и, на мой взгляд, будет лучшим дизайном. Конечно, могут быть и другие ограничения, которые я не знаю о необходимости создания этого дизайна.
возможно, это помогло бы (используя оператор и тип с нулевым значением Guid)
public void some_method(string name, Guid? guid = null)
{
_name = name;
_guid = guid ?? Guid.NewGuid();
}