實際上,我可以這樣做我的OE裏面做一個表中的字段和變量之間的關係:獲取屬性信息與仿製藥
public class MyOE
{
[Column("AGE_FIELD")]
public int ageField { get; set; }
}
我的OE類只需要使用其他類:
[AttributeUsage(AttributeTargets.Property, Inherited = true, AllowMultiple = true)]
public class ColumnAtt : Attribute
{
private string name;
public string Name
{
get { return name; }
}
public ColumnAtt (string name)
{
this.name = name;
}
}
那麼,使用上面的代碼,我做了一個泛型方法,我將需要獲得「列」值。我怎麼能做到這一點?
這裏是我的方法:
public void CompareTwoObjectsAndSaveChanges<TObjectType>(TObjectType objectA, TObjectType objectB)
{
if(objectA.GetType() == objectB.GetType())
{
foreach (var prop in objectA.GetType().GetProperties())
{
if(prop.GetValue(objectA, null) != prop.GetValue(objectB, null))
{
string colvalue = "";//Here I need to get the Column value of the attribute.
string nameOfPropertyThatChanges = prop.Name;
string objectAValue = prop.GetValue(objectA, null).ToString();
string objectBValue = prop.GetValue(objectB, null).ToString();
}
}
}
}
謝謝,兄弟!出於任何原因,條件if(prop.GetValue(objectA,null)!= prop.GetValue(objectB,null)),我不知道爲什麼..我比較相同的值,並說它們是不同的(兩個大寫和相同的打字。) – 2012-02-02 20:19:26
@ Dan-SP它試圖比較哪些值?有可能使用'!='運算符,它不能正確比較。 – 2012-02-03 08:17:15
我試圖比較兩個簡單的字符串..它們具有完全相同的值。 – 2012-02-06 17:58:24