Более логично реализовать здесь наследование, а не генерики.
Вы также можете использовать Interface
, но это сделает ваше свойство Name
дублированным на всех ваших ActivityMedia
, AuditMedia
, VehicleMedia
классах.
Рассмотрим базовый класс Media
public class Media
{
// consider all properties that are common
// on Media domain
public string Name { get; set }
}
И наследуют ActivityMedia
, AuditMedia
, VehicleMedia
от Media
класса.
public class ActivityMedia : Media
{
// other properties on ActivityMedia domain
}
public class AuditMedia : Media
{
// other properties on AuditMedia domain
}
public class VehicleMedia : Media
{
// other properties on VehicleMedia domain
}
А теперь используйте Media
класс в вашем GetAString
методе
public static String GetAString(Media activityMedia)
{
return activityMedia.name;
}
public static String GetAString(Media auditMedia)
{
return auditMedia.name;
}
public static String GetAString(Media vehicleMedia)
{
return vehicleMedia.name;
}