I have just refactored a colleague\'s code that, roughly, looked like this...
public class Utility
public void AddHistoryEntry(int userID, HistoryType Historyty
Why not a static method in the class itself?
public static void AddHistoryEntry(HistoryEntry entry)
Saves you the utility class. The new object may be expensive, it may not--but it probably doesn't matter. Good defaults allow you to extend your code much more easily, and you'll save more time in maintenance than you do in performance, unless you're doing this in a loop.