public static void Main()
MultiUseDependencies mud = new MultiUseDependencies();
MultiUseDependencies2 mudRefactored = new MultiUseDependencies2(new Audit2());
public class MultiUseDependencies
public MultiUseDependencies()
a.preAuditValues = "Update";
a.preAuditValues = "Delete";
public string preAuditValues { get; set; }
public void AuditInformation()
Console.WriteLine("Audited {0}", preAuditValues);
public class MultiUseDependencies2
private readonly IAudit _audit;
public MultiUseDependencies2(IAudit audit)
_audit.preAuditValues = "Update";
_audit.AuditInformation();
_audit.preAuditValues = "Delete";
_audit.AuditInformation();
string preAuditValues { get; set; }
public class Audit2 : IAudit
public string preAuditValues { get; set; }
public void AuditInformation()
Console.WriteLine("Audited {0}", preAuditValues);