Its a pretty simple change to your Expenses class:
class Expenses { // What I've been trying to do... public int Something(Budget userBudget) { userBudget.UserBudget -= 100; return userBudget.UserBudget; } } Which you then call like this from your main class:
static void Main(string[] args) { Budget user01 = new Budget(1000); Expenses expenses = new Expenses(); var result = expenses.Something(user01); } Or, if you make your Something method static you can call it without an instance:
class Expenses { // What I've been trying to do... public static int Something(Budget userBudget) { userBudget.UserBudget -= 100; return userBudget.UserBudget; } } Which you call like this:
static void Main(string[] args) { Budget user01 = new Budget(1000); var result = Expenses.Something(user01); } Its important when designing methods to remember that a method takes in a general argument and its the caller that passes in something specific.