基本的に同じことを異なるオブジェクトでのみ行う2つの類似したメソッドがあります。可能であれば、これからジェネリックメソッドを作成するための最良の方法は何ですか?
2つのオブジェクト:
public class StoreObject {
int Key;
string Address;
string Country;
int Latitude;
int Longitude;
}
public class ProjectObject {
int ProjectKey;
string Address;
string Description;
}
私が潜在的にジェネリックにしたい2つの方法:
public StoreObject GetStoreByKey(int key)
{
using (DBEntities dbe = new DBEntities())
{
StoreObject so = new StoreObject();
var storeObject = (from s in dbe.StoreTables
where s.Key == key
select s).First();
so.Key = storeObject.key;
so.Address = storeObject.address;
so.Country = storeObject.country;
so.Latitude = storeObject.latitude;
so.Longitude = storeObject.longitude;
return so;
}
}
public ProjectObject GetProjectByKey(int projectKey)
{
using (DBEntities dbe = new DBEntities())
{
ProjectObject po = new ProjectObject();
var projectObject = (from p in dbe.ProjectTables
where p.ProjectKey == projectKey
select p).First();
po.Key = projectObject.p_key;
po.Address = projectObject.p_address;
po.Description = projectObject.p_description;
return po;
}
}
次の点に注意する必要があり
ます。-テーブルフィールドの名前の付け方(つまり、p_description)を制御することはできません。
-たとえば、DBのStoreTableには他のプロパティ(電話、郵便番号など)がある場合がありますが、コードに表示したものだけを表示することに関心があります。
-ProjectTableについても同じことが言えます。