有没有办法在c#中尝试捕获静态属性?

本文关键字:静态 属性 有没有 | 更新日期: 2023-09-27 18:08:21

假设有一个代码(服务器端发生错误):

public class Foo{
    private static readonly Int32 MyProp = 10 / Convert.ToInt32("0");
    public Foo() {
        /// some initialization
    }
}

有没有办法在c#中尝试捕获静态属性?

字段的初始化移动到静态构造函数:

  public class Foo {
    private static readonly Int32 MyProp;
    public Foo() {
        /// some initialization
    }
    // static constructor for static initialization
    static Foo() {
      try {
        MyProp = 10 / Convert.ToInt32("0");
      }
      catch (SomeException e) {
        ...
      }  
    }
  }

如果使用静态属性…

?
private static int MyProperty
{
    get
    {
        try
        {
            return 10 / Convert.ToInt32("0");
        }
        catch (Exception e)
        {
            return -1;
        }
    }
}