IUser
があり、void GetTasks()
とstring GetRole()
を実装しています。クラスを作成します。注入されたクラス(C#)からメソッドを呼び出すときにエラーが発生する
public class EmployeeRole : IUser
{
public void GetTasks()
{
//Get task
}
public string GetRole()
{
return "Employee";
}
public void EmployeeSpecificTask()
{
Console.Write("This is an employee's specific task.");
}
}
クラスを作成し、そのクラスを私のProfile.cs
クラスに注入するように計画した後です。ここでは、コードされた:EmployeeSpecificTask()
を呼び出すときに、私はエラーを取得していますなぜ
`public class Profile
{
private readonly IUser _user;
public Profile(IUser user)
{
this._user = user;
}
public void DisplayTask()
{
_user.GetTasks();
}
public string MyRole()
{
return _user.GetRole();
}
//The error goes here
public void MySpecificTask()
{
_user.EmployeeSpecificTask();
}
public void Greetings()
{
Console.WriteLine("Hello! Welcome to profile.");
}
}
注入 Profile profile = new Profile(new EmployeeRole());
のためのテストプログラム私の質問はありますか? 私はEmployeeRoleクラスにEmployeeSpecificTask()
を持っています。
エラーが表示されますか? – CodexNZ
@CodexNZここでは、 '' IUser 'に' EmployeeSpecificTask 'の定義が含まれず、' IUser 'タイプの最初の引数を受け入れる拡張メソッド' EmployeeSpecificTask 'が見つかりませんでした。 " – datkom
したがって、IUserインターフェイス定義ではGetTasks ()メソッドとGetRole()メソッドを実装し、このインタフェースの実装でEmployeeSpecificTask()メソッドが追加されました。 – CodexNZ