たとえば、簡単な方法を考えてみましょう。
public string GetDisplayName(string username, IUserService UserService)
{
var user = UserService.GetUserByUsername(username);
return string.Format("{0} {1} {2} ({3})", user.Title, user.FirstName, user.LastName, username);
}
したがって、UserService はクラスであり、C# の定義により、クラスは参照型です。
私が次のことをした場合:
public string GetDisplayName(string username, ref IUserService UserService)
{
var user = UserService.GetUserByUsername(username);
return string.Format("{0} {1} {2} ({3})", user.Title, user.FirstName, user.LastName, username);
}
ここでの主な違いは何ですか?