This is Visual Studio 2008. Obviously has to do with the static class for an extensions.
public class Dummy
{
public readonly int x;
public Dummy(int x)
{
this.x = x;
}
public override string ToString()
{
return x.ToString();
}
}
[Obsolete("Do Not Use", true)]
public static class Extensions
{
public static int Squared(this Dummy Dummy)
{
return Dummy.x * Dummy.x;
}
}
class Program
{
static void Main(string[] args)
{
var d = new Dummy(42);
Console.WriteLine(String.Format("{0}^2={1}", d, d.Squared()));
}
}
That repros in VS2010 as well. Looks like a bug. I'll get it entered in the database.
You can work around the bug by putting the attribute on the actual method.
Thanks for the report!
Calling an obsolete function is a warning, not an error, unless you change the compiler settings to stop on warnings too - to make warnings behave like errors.
Typically I don't see those warnings unless there are other 'real' errors in my code.
Also notice that in your specific case you marked the class as obsolete - not the method. That might matter.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With