Я новичок в С#. Мне нужна небольшая помощь, как вызвать метод из одного класса в другой класс. Поскольку C# — строго типизированный язык, мне было трудно перемещаться по классам, методам и т. д. Я хочу взять «GetSalesRevenue() — продавец класса» и использовать его в отделах «GetRevenue() — отделы класса»; Это моя первая попытка с С# ООП. Любая помощь приветствуется!
using System;
using System.Collections.Generic;
using System.Text;
namespace EmployeeDepartment
{
class Departments
{
public Departments(string[] developers, string[] salesman)
{
Developers = developers;
Salesman = salesman;
}
public string[] Developers { get; set; }
public string[] Salesman { get; set; }
public void GetRevenue(Salesman value)
{
Console.WriteLine("Sum of revenus from All salesmen");
}
public void GetSkillset()
{
Console.WriteLine("Print all skills from the developers in the deparment");
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace EmployeeDepartment
{
class Salesman : Employee
{
public Salesman(string name, string surname, int age, int salary, int salesrevenue, int salarysalesman) : base(name, surname, age, salary)
{
SalesRevenue = salesrevenue;
SalarySalesman = salarysalesman;
}
private double SalesRevenue { get; set; }
public double SalarySalesman { get; set; } = 400;
// Salary is default 400 and Role is default Sales
public double AddRevenue(double addRevenue)
{
return SalesRevenue += addRevenue;
}
public double GetSalesRevenue()
{
return SalesRevenue;
}
public double GetSalary(double plus)
{
return (SalesRevenue / 10) * 100;
}
}
}
Очень распространенная ошибка начинающих программистов на С#. Удостоверившись, что ваши методы открыты для всех, вы не сделали этого для своих классов. Просто добавьте public в свои классы.
Стив, я просто создавал методы и поставил return, чтобы не получить ошибку.
Я думаю, вы ищете что-то вроде этого:
class Departments
{
public Departments(string[] developers, string[] salesman)
{
Developers = developers;
Salesman = salesman;
}
public string[] Developers { get; set; }
public string[] Salesman { get; set; }
public void GetRevenue(Salesman salesman)
{
double revenue = salesman.GetSalesRevenue();
Console.WriteLine($"Sum of revenus from All salesmen: {revenue}" );
}
public void GetSkillset()
{
Console.WriteLine("Print all skills from the developers in the deparment");
}
}
Извините, но я в замешательстве. GetSalesRevenue должен возвращать общий доход от продаж всех продавцов, принадлежащих этому отделу? Где вы храните список продавцов для этого отдела? Два массива содержат строки, а не полные экземпляры Salesman.