can’t fix this warning: TextToSpeechService.cs(60,56,60,63): warning CS8603: Possible null reference return.
C#
public void Speak(string text)
{
if (_tts != null)
{
_tts.Speak(text, QueueMode.Flush, null, null);
}
}
public new void Dispose()
{
if (_tts != null)
{
_tts.Stop();
_tts.Shutdown();
_tts.Dispose();
_tts = null;
}
base.Dispose();
}
// Explicit interface implementation for IJavaPeerable
void IJavaPeerable.DisposeUnlessReferenced() { }
void IJavaPeerable.Finalized() { }
JniManagedPeerStates IJavaPeerable.JniManagedPeerState => JniManagedPeerStates.None;
JniObjectReference IJavaPeerable.PeerReference => new JniObjectReference(Handle);
int IJavaPeerable.JniIdentityHashCode => Handle.GetHashCode();
JniPeerMembers IJavaPeerable.JniPeerMembers => default;
void IJavaPeerable.SetJniIdentityHashCode(int value) { }
void IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates value) { }
void IJavaPeerable.SetPeerReference(JniObjectReference reference) { }
// Implementation for IJavaObject.Handle
public new IntPtr Handle
{
get
{
return _tts?.Handle ?? IntPtr.Zero;
}
}
}
//attempt 2 Implementation for IJavaObject.Handle
public new IntPtr Handle
{
get
{
// Use null-forgiving operator to assert non-null return
return (_tts?.Handle ?? IntPtr.Zero)!;
}
}
//attempt 3 Implementation for IJavaObject.Handle
public new IntPtr Handle
{
get
{
if (_tts == null)
return IntPtr.Zero;
return _tts.Handle;
}
}
//attempt 4
public new IntPtr Handle => _tts == null ? IntPtr.Zero : _tts.Handle;
//attempt 5 Implementation for IJavaObject.Handle
public new IntPtr Handle => _tts != null ? _tts.Handle : IntPtr.Zero;
mulvray is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.