protected override void AppendTooltip(BaseObjectGetHashCodeCallInGetHashCodeWarning highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("Overriden "); colorizer.AppendMethodName("GetHashCode"); colorizer.AppendPlainText(" calls base '"); colorizer.AppendClassName("Object"); colorizer.AppendOperator("."); colorizer.AppendMethodName("GetHashCode"); colorizer.AppendPlainText("()'"); }
protected override void AppendTooltip(BaseObjectEqualsIsObjectEqualsWarning highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("Call to '"); colorizer.AppendKeyword("base"); colorizer.AppendOperator("."); colorizer.AppendMethodName("Equals"); colorizer.AppendPlainText("(...)' is reference equality"); }
protected override void AppendTooltip(AsyncMethodWithoutAwaitWarning highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("This "); colorizer.AppendKeyword("async"); colorizer.AppendPlainText(" method lacks '"); colorizer.AppendKeyword("await"); colorizer.AppendPlainText("' operators and will run synchronously. Consider using the '"); colorizer.AppendKeyword("await"); colorizer.AppendPlainText("' operator to await non-blocking API calls, or '"); colorizer.AppendKeyword("await "); colorizer.AppendClassName("Task"); colorizer.AppendOperator("."); colorizer.AppendMethodName("Run"); colorizer.AppendPlainText("(...)' to do CPU-bound work on a background thread"); }