Tomas
Tomas

Reputation: 18127

Create instance of the class from base class

I have DataAccess class which is derived from DataAccessor. DataAccessor class is the DB base class which I use in all all projects.

Instance method is the helper to create new instance of the DataAccess class. I would like to move Instance method to DataAccessor base class and create new insatnces of derived classes from base class. How to do that?

public class DataAccess : DataAccessor
{

    public static DataAccess Instance
    {
        get
        {
            return new DataAccess();
        }
    }
}

public abstract class DataAccessor 
{
}

Upvotes: 2

Views: 521

Answers (2)

iandotkelly
iandotkelly

Reputation: 9134

Have you considered the Abstract Factory Pattern?

Upvotes: 3

Moo-Juice
Moo-Juice

Reputation: 38820

public class Base<T> where T : new()
{
    public static T Instance
    {
        get { return new T(); }
    }
}

public class Derived : Base<Derived>
{
}

Upvotes: 3

Related Questions