다음은 인터페이스와 구현입니다. 아래의 경우인터페이스 멤버를 사용할 때 C# var의 올바른 사용법은 무엇입니까?
interface ICompanyService
{
Company GetCompany();
}
public class CompanyService : ICompanyService
{
public Company GetCompany()
{
//Do something
return new Company();
}
}
이제 "companyService"는 ICompanyService 위의 구현, 하나는 더 나은 (A 또는 B) 그 이유는 무엇입니까?
var company = companyService.GetCompany(); //.....A
Company company = companyService.GetCompany(); //.....B
그것이 바로 이름 짓기입니다. 변수'회사'는 나에게 꽤 분명해 보인다. –
이 예에서는 true이지만 일반적으로 인터페이스를 반환하는 메서드를 가질 수도 있고 여러 회사 클래스가있을 수도 있습니다. SmallCompany, LargeCompany 또는 whaterver. 어쨌든, 나는 메소드를보고 리턴 유형 (명시 적으로)을 볼 수있을 때만 var를 사용하는 것을 선호합니다. –
인터페이스 아래에 무엇이 있는지 알아야 할 필요가있는 경우 - 그 인터페이스를 악용하고 잘못 처리하는 경우 –