Return a List based on very similar data
var inputs = new List&lt;MyObject&gt;();
inputs.Add(AssembleMyObject(key, "@BeginTime", MyObjectPropertyConstants.BeginTime()));
inputs.Add(AssembleMyObject(key, "@EndTime", MyObjectPropertyConstants.EndTime()));

return inputs;


You could rewrite this to make it more DRY using LINQ into:

return new Func&lt;Dictionary&lt;string, string&gt;&gt;[]
{
    MyObjectPropertyConstants.BeginTime,
    MyObjectPropertyConstants.EndTime
}.Select(f =&gt; AssembleMyObject(key, "@" + f.Name, f()).ToList();




var MyObject


Local variables are usually named in camelCase, e.g. myObject.



public static Dictionary&lt;string, string&gt; BeginTime()


Method should be named using verbs, this looks more like a property. Thought making this into a property would make the above LINQ rewrite more difficult.



new Dictionary&lt;string, string&gt;
{
    {"stuff", "@BeginTime"},
    {"VISIBLE", "TRUE"},
    {"CAPTION", "*beginTime"},
    {"DISPLAYTYPE", "DATEPICKER"},
    {"DATATYPE", "DATE"},
};


Does order matter here? If it does, you shouldn't use Dictionary, since it doesn't guarantee ordering.