// NotNull indicates that a ref or out parameter, that is marked as nullable, will never be set as null after the method returns. public void AppendHello([NotNull] ref string? a) { if (a == null) a = "Hello"; else a = a + "Hello"; }