DATA_BASE_NAME, SERVER_IP_NAME, PORT, USER_NAME, PASSWORD
public class Connect : Attribute
public DataBaseType ValueType { get; set; }
public class ConnectionModel
[Connect(ValueType = DataBaseType.SERVER_IP_NAME)]
public string ServerName { get; set; } = "localhost";
[Connect(ValueType = DataBaseType.PORT)]
public string Port { get; set; } = "5432";
[Connect(ValueType = DataBaseType.USER_NAME)]
public string UserName { get; set; } = "usuario";
[Connect(ValueType = DataBaseType.PASSWORD)]
public string Password { get; set; } = "senha";
[Connect(ValueType = DataBaseType.DATA_BASE_NAME)]
public string DatabaseName { get; set; } = "banco";
public static void Main()
ConnectionModel obj = new ConnectionModel();
Type type = obj.GetType();
foreach (PropertyInfo field in type.GetProperties())
Console.WriteLine(field.Name + ": " + field.GetValue(obj));
Connect attribute = field.GetCustomAttribute<Connect>();
Console.WriteLine(attribute.ValueType);