C# 如何从自动实现属性中的字段访问dispose方法

C# 如何从自动实现属性中的字段访问dispose方法,c#,.net,memory,.net-4.0,C#,.net,Memory,.net 4.0,为什么我可以在Bmw getter setter方法中访问dispose方法,而不能在dispose方法中访问 那么如何处理以下字段: Class Car: IDisposable { private FontWeight bmw; public FontWeight Bmw { bmw.Dispose(); <<<<<<<< Can access Dis

为什么我可以在Bmw getter setter方法中访问dispose方法,而不能在dispose方法中访问

那么如何处理以下字段:

Class Car: IDisposable
 {

    private FontWeight bmw;

     public FontWeight Bmw
                {
                   bmw.Dispose(); <<<<<<<< Can access Dispose
                    get
                    { return bmw; }
                    set
                    { bmw= value;

                    }

                    public void Dispose(){
                      bmw.Dispose(); <<<< Cant access Dispose()
                    }                        
                }
            }

如果这是您的代码,那么您的代码中就会出现大量语法错误:

public FontWeight Bmw
{
    /// here shouldn't be any code, just getters and setters
    get { return bmw; }
    set { bmw = value; }

    /// you forgot to close the property here
} /// now it's closed

public void Dispose()
{
    bmw.Dispose(); /// now it will work
}

这会导致无限循环吗?在同一方法中调用同一方法。您发布的代码在许多方面无效。您试图在属性内声明Dispose方法,并且在getter和setter之外的属性内调用Dispose方法-@Xikinho90-不,这不是无限循环,因为他只是想调用变量Dispose,我很清楚我只需要访问public void Dispose中的Dispose方法就可以处理bmw。但是它不会与属性方法中出现的dispose方法形成对比。这个答案破坏了我首先发布问题的原因,因为它指出了我指定的问题。FontWeight是一个windowsclass@user2708073,不清楚您希望如何使用dispose。还有,为什么要在对象内部处理对象?。