Question: I am created List of object class and return from CreateListFromTable method. But always Virtual method is calling and throwing exception. Data is not loading into List.

What could be the problem?

```
 public static List<Customer> GetCustomer(string ID)
    {
        DataTable dt = new DataTable();
        try
        {
            DatabaseGateway da = new DatabaseGateway();
            dt = da.QueryForDataTable("proc_GetCustomer", ID);                
        }
        catch (Exception ex)
        {
            LogMessage(ex.Message + ":  " + ex.StackTrace, EventLogEntryType.Error);
        }

        return CreateListFromTable<Customer>(dt);          

    }

 protected static List<T> CreateListFromTable<T>(DataTable dt) where T : BusinessObject, new()
    {
        List<T> list = new List<T>();
        try
        {          
            if (dt != null)
            foreach (DataRow row in dt.Rows)
            {
                T t = new T();
                t.Load(row);
                list.Add(t);
            }
        }
        catch (Exception exception)
        {

        }
        return list;
    }
    /// <summary>
    /// Virtual method which should be overriden by inherited types that support loading.
    /// </summary>
    /// <param name="row"></param>
    protected virtual void Load(DataRow row)
    {
        throw new NotSupportedException("The object of type '" + this.GetType().Name +
            "' does not support loading from DataRow.");
    }

```

Answer: 
It's only $8 for 71Squared's emitter. You can pretty much copy and paste the code. But it's biggest advantage is configuring the particles exactly the way you want, which can be more time-consuming than figuring out how to make particles in the first place.

<http://particledesigner.71squared.com/>
As previously answered by Randall and Javy you want a CAEmitterLayer and you probably want to configure it with a live preview like Particle Designer, which doesnt work with CAEmitterLayer.

For CAEmitterLayer you could use [Particle Playground](http://www.vigorouscoding.com/mac-apps/particle-playground/) [(Mac App Store)](https://itunes.apple.com/us/app/particle-playground/id600661093) to configure your emitter on your mac in a simulator and the export it as code ready for integration in your project. PP is quite similar to Particle Designer.