tengo un metodo:
public cancelOperation(OperationId: string): Promise<void> { // some calls }Obtengo OperationId de otro método:
let operationId = GetOperationId() {}que devuelven OperationId anulable,
operationId?: string;así que cuando paso el OperationId recibido de GetOperationId(), aparece el error de que operationId es anulable, por lo que no se puede usar en el método cancelOperation()
Entonces, ¿hay algún equivalente en C# de
operationId .Valueo
operationId .HasValueen Typescript para poder hacerlo.
Aunque tenemos la opción de verificar el ID de operación como:
cancelOperation(playAudioResult.operationId ? playAudioResult.operationId : "")pero no quiero usarlo.
Necesito una solución que sea algo como: cancelOperation(operationId.?????)
if (operationId) buscará nulos en TypeScript. Devolverá true si el valor no es null o undefined .
Puede usar if para verificar si la operación I es nula o no. La otra forma es el operador coalescente nulo.
Es un operador lógico que devuelve su operando del lado derecho cuando su operando del lado izquierdo es nulo o indefinido.
Se lleva a cabo solo si el valor no es nulo como,
let x = operationI??NULLSiguiendo el artículo compartido por @ShamPooSham https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-0.html#non-null-assertion-operator
Obtuve una forma de obtener valor de la propiedad anulable como se explica en el artículo.
¡Tenemos que poner! después de la propiedad y obtenga el valor (suponiendo que no sea nulo)
// Compiled with --strictNullChecks function validateEntity(e?: Entity) { // Throw exception if e is null or invalid entity } function processEntity(e?: Entity) { validateEntity(e); let s = e!.name; // Assert that e is non-null and access name }Similarmente en mi método puedo usar:
cancelOperation(playAudioResult.operationId!) // notice the !