Is there an annotation in .NET which allows methods or classes to be deprecated so that their use and their callers are identified by the compiler (cf @Deprecated in Java)
You can add a comment on what people should be using, for example:
If you want to generate a compiler error when people use your method:
This is an example for a method, but it can be used on almost any attribute target. See here for full docs.
Since the question was edited slightly, I'll add the VB.NET syntax as well, to cover the most common .NET languages:
[Obsolete] - see here for documentation on it. Adding this to a method or class will give a compiler warning if anyone tries to use it, with the custom message you give to the attribute if needed