C#에서는 생성자에서이 코드를 사용해도 괜찮습니까?C# : 생성자에서 사용
public class Test{
public Test()
{
Type type = this.GetType()
}
}
C#에서는 생성자에서이 코드를 사용해도 괜찮습니까?C# : 생성자에서 사용
public class Test{
public Test()
{
Type type = this.GetType()
}
}
예, 생성자에는 this
을 사용할 수 있지만 필드 초기화 프로그램에는 사용할 수 없습니다.
class Foo
{
private int _bar = this.GetBar();
int GetBar()
{
return 42;
}
}
하지만이 허용됩니다 :
그래서이 유효하지 않습니다
class Foo
{
private int _bar;
public Foo()
{
_bar = this.GetBar();
}
int GetBar()
{
return 42;
}
}
는이 같은 뭔가를 찾고 계십니까 : 간단한 예를 들어
(즉,이 생성자의 예를 참조 괜찮습니다)? 내가 생각
public class Test{
private string strName;
public Test(string strName)
{
this.strName = strName;
}
}
클래스의 모든 부분에서 사용하기 좋은입니다 this
식별자 ... 부가 요소, 메서드, 속성, 당신이 복잡한 클래스 나 큰 사람으로, 수정하거나 사용하는 것을 더 암시 얻을 수 있기 때문에 그것은 당신이 사용하고있는 것을 더 빨리 아는 데 도움이되지만 제가 말했듯이, 제 관점에서 볼 때.
'this'는 나에게 부가 가치가없는 단지 여분의 자세한 내용이지만 각자 자신의 것입니다. . –
그렇습니다. const, readonly와 같은 다른 예약어와 비슷합니다. 예를 들어 프로그래머 만해도 내 예제에서는 전역 속성/특성과 정확히 일치하는 매개 변수를 사용할 때 필요합니다. 다음과 같이 혼동하지 마십시오. 'this'..와 함께 로컬 변수, paremeter 또는 전역 변수를 사용하고 있습니다. 그러나 각자 자신의 –
에 말했듯이 멤버 변수에 대한 밑줄을 사용하지 마십시오. 그 이유만으로'memberVariable' 컨벤션을 좋아하지 않습니다. 그런 다음 메서드 서명에서 충돌을 얻고 '여기'를 사용해야합니다. 또한, 나는 당신이 "Allusive"라고 말하는 것을 생각하지 않습니다. 아마 노골적입니까? :) –
예. 여기를보세요 : http://www.codeproject.com/KB/dotnet/ConstructorsInCSharp.aspx – FailedDev
예 ... 정확합니다. – Nitesh