类的自定义构造函数

时间:2012-10-24 16:44:08

标签: c# class constructor

我看到了这段代码:

this.CreateGraphics().DrawRectangle( Pens.Black, new Rectangle( 0, 0, 200, 100 ) );

CreateGraphics()是一种方法,但它就像一个带有静态空洞的类。如何在我的代码中创建它?我不知道如何调用这种技术......

2 个答案:

答案 0 :(得分:2)

这称为工厂方法(它是设计模式之一)。基本上你创建了一个方法,它将返回类的新实例,例如:

public class Graphics 
{
    public static Graphics CreateGraphics()
    {
        return new Graphics();
    }

    // ... other methods etc ...
    public bool OtherMethod()
    {
        return false;
    }
}
// then you can do Graphics.CreateGraphics().OtherMethod();

<强>更新

您可以在其他地方使用此设计模式,您需要做的就是创建一个返回类(CreateGraphics方法)的新实例的方法:

public class MyClass 
{
    public static Graphics CreateGraphics()
    {
        return new Graphics();
    }

    // ... other methods etc ...
    public void MyOtherMethod()
    {
        this.CreateGraphics().Something();
    }
}

答案 1 :(得分:0)

CreateGraphics()返回Graphics类的实例。

我怀疑你在谈论Control.CreateGraphics()方法,

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.creategraphics.aspx

任何返回此类对象实例的方法都可以这种方式使用。