[英]C# code re-use public class Foo<T> method parameters
我希望有人可以幫助我解決問題。 我正在嘗試制作一個新的Type類:
public class Foo<T>
其唯一方法的工作是遍歷另一個類的屬性。 大約有20個類別,定義了不同數量的屬性:
public class Bar {
public int Id { get; set; }
public string Name { get; set; }
}
public class Shirt {
public string Color { get; set; }
public string Size { get; set; }
public string Brand { get; set; }
}
public class Pants {
public string Color { get; set; }
public string Waist { get; set; }
public string Length { get; set; }
public string Inseam { get; set; }
}
而公共類Foo的方法是:
public class Foo<T> {
public string FooMethod(T before, T after /* other variables? */) {
// compare before & after
}
}
每個命名相同的類將兩次進入Foo
的主方法,但具有不同的屬性值。 所以Bar
之前的ID和名稱可能是1 & "Bar"
,而Bar
后的ID和名稱可能是2 & "BarBar"
。
從這里開始,將要進行其他操作以比較before和after中的每個屬性。 但是,由於每個類中屬性的數量各不相同,並且我只想使用一種方法,所以我感到兩難。
如果要在FooMethod中比較多種類型的對象,則可以在所有類(Bar,Shirt,Pants ...)中覆蓋Equals和GetHashcode方法,並在那里進行比較。 這樣,您的FooMethod將只在before.Equals(after)
進行比較。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.