СИТУАЦИЯ
Я хочу отобразить все общие свойства нескольких классов.Допустим, есть класс "A" со свойствами "a" и "c", и есть класс "B" со свойствами "b" и "c" ... поэтому я в основном хочу получить свойство "c"
Есть ли какой-нибудь простой способ сделать это?
РЕДАКТИРОВАТЬ
Извините, плохо, что я не сказал, что я запрограммировал.
У меня в основном есть список классов, и я хочу получить все свойства, которые есть у этих классов вместе.
Мой код является просто доказательством того, что я что-то пробовал.
реальный пример: VisualStudio
Если вы выберете 2 кнопки, вы увидите все свойства, которые эти кнопки имеют вместе
CODE
private void GetAllProperties(ObservableCollection<DUIElement> selecteditems)
{
if (selecteditems == null)
return;
_properties.Clear();
foreach (DUIElement item in selecteditems)
foreach (PropertyInfo property in item.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance))
{
if (property.PropertyType.Name != nameof(DPropertyViewModel))
continue;
foreach (DUIElement itemnext in selecteditems)
{
if (item.GroupName == itemnext.GroupName)
continue;
foreach (PropertyInfo propertynext in itemnext.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance))
{
if (propertynext.PropertyType.Name != nameof(DPropertyViewModel))
continue;
if (property.PropertyType.Name == propertynext.PropertyType.Name)
{
var prop = propertynext.GetValue(itemnext, null) as DPropertyViewModel;
_properties.Add(prop);
}
}
}
}
}