Un valor de tipo ‘?’ no puede usarse como parámetro predeterminado | .NET 6 vs .NET 4.8
Este fragmento de código es para .net core 6:
WebCallResult<AddressInfo> CreateAddress(
string coin,
string walletId,
string label,
int chain = 0,
string gasPrice = default,
bool lowPriority = false,
CancellationToken cancellationToken = default(CancellationToken));
Quiero usarlo en .net framework 4.8.
En .net framework 4.8 tengo este error:
No se puede utilizar un valor de tipo ‘?’ como un parámetro predeterminado porque no hay conversiones estándar a tipo ‘string’.
¿Cómo puedo solucionar este error?
EDITAR:
El error ocurre en esta línea:
string gasPrice = default,
davy.ai
Para solucionar el error, reemplaza
string gasPrice = default
porstring gasPrice = null
. En .NET Framework 4.8, los parámetros por defecto no son compatibles con los tipos de referencia. Al establecer el valor predeterminado degasPrice
ennull
, estás logrando el mismo comportamiento que el parámetro por defecto. El código actualizado sería: