.net 在一些查询lib中,尤其是那些流向web服务的lib。IMHO:第一个选项最好是泛型的,这样就可以使用类型推断,这甚至更好。 AHelper.RetrieveByID(string id); AHelper.RetrieveByName(string na
.net 在一些查询lib中,尤其是那些流向web服务的lib。IMHO:第一个选项最好是泛型的,这样就可以使用类型推断,这甚至更好。 AHelper.RetrieveByID(string id); AHelper.RetrieveByName(string na,.net,abstract-class,static-methods,interface-design,.net,Abstract Class,Static Methods,Interface Design,在一些查询lib中,尤其是那些流向web服务的lib。IMHO:第一个选项最好是泛型的,这样就可以使用类型推断,这甚至更好。 AHelper.RetrieveByID(string id); AHelper.RetrieveByName(string name); AHelper.DumpToDatabase(); AHelper a = new AHelper(); a.DumpToDatabase(); static class HelperMethods { //IHelper h =
在一些查询lib中,尤其是那些流向web服务的lib。IMHO:第一个选项最好是泛型的,这样就可以使用类型推断,这甚至更好。 AHelper.RetrieveByID(string id); AHelper.RetrieveByName(string name); AHelper.DumpToDatabase(); AHelper a = new AHelper(); a.DumpToDatabase();
static class HelperMethods
{ //IHelper h = new HeleperA();
//h.DumpToDatabase()
public static void DumpToDatabase(this IHelper helper) { /* ... */ }
//IHelper h = a.RetrieveByID(5)
public static IHelper RetrieveByID(this ObjectA a, int id)
{
return new HelperA(a.GetByID(id));
}
//Ihelper h = b.RetrieveByID(5)
public static IHelper RetrieveByID(this ObjectB b, int id)
{
return new HelperB(b.GetById(id.ToString()));
}
}
static [return type] Helper.RetrieveByID(ObjectX x)
public static AObject RetrieveByID(string ID)
{
QueryResult qr = webservice.query("SELECT Id,Name FROM AObject WHERE Id = '" + ID + "'");
return (AObject)qr.records[0];
}
public static BObject RetrieveByID(string ID)
{
QueryResult qr = webservice.query("SELECT Id,Name,Company FROM BObject WHERE Id = '" + ID + "'");
return (BObject)qr.records[0];
}
static AObject GetAObject(string id);
static BObject GetBObject(string id);
class AOrBObject
{
string id;
AOrBObject(string id) {this.id = id;}
static public AOrBObject RetrieveByID(string id)
{
return new AOrBObject(id);
}
public static AObject explicit operator(AOrBObject ab)
{
return AObjectQuery(ab.id);
}
public static BObject explicit operator(AOrBObject ab)
{
return BObjectQuery(ab.id);
}
}
var a = (AObject) AOrBObject.RetrieveByID(5);
var b = (BObject) AOrBObject.RetrieveByID(5);
public static T RetrieveByID<T>(string ID)
{
var fieldNames = getFieldNamesBasedOnType(typeof(T));
QueryResult qr = webservice.query("SELECT "+fieldNames + " FROM "
+ tyepof(T).Name
+" WHERE Id = '" + ID + "'");
return (T) qr.records[0];
}