es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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,
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para solucionar el error, reemplaza string gasPrice = default por string 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 de gasPrice en null, estás logrando el mismo comportamiento que el parámetro por defecto. El código actualizado sería:

    WebCallResult<addressinfo> CreateAddress(
        string coin,
        string walletId,
        string label,
        int chain = 0,
        string gasPrice = null,
        bool lowPriority = false,
        CancellationToken cancellationToken = default(CancellationToken));</addressinfo>
    

Comments are closed.