Wednesday, May 16, 2012

System.InvalidOperationException: Static types cannot be used as parameters or return types

A short post about an exception I've met today: System.InvalidOperationException: There was an error reflecting 'SomeClassName'. ---> System.InvalidOperationException: SomeStaticClassName cannot be serialized. Static types cannot be used as parameters or return types.

Obviously one cannot serialize a static class, but I wasn't trying to. There was an asmx service method returning an Enum, but the enum was nested in the static class. Something like this:
public static class Common {

  public enum MyEnumeration {
    Item1,
    Item2
  }

}

Therefore, take this as a warning. Even if the compilation does not fail when a class is set to static, it may fail at runtime due to nested classes.

1 comments:

TiltonJH said...

This issue seems to solved with .NET 4.5.1.