ASP.NET MVC 쉐퍼드도 com/go/learn_fl_cs4_learningas2_kr 영어 문서를 읽을 수 있지만, 나는 내가 don& # 39, 이 코드의 무슨일인거죠 이해할 수 없다.
public class Genre
{
public string Name { get; set; }
}
이게 무슨 뜻이죠. ' {프레젠테이션이든. 세트. } '?
따라서, {프레젠테이션이든 알아듣습니다. ' 세트. } '는 ", 자동 property". 이 글을 쓰는 것 처럼 @Klaus 있는 대표 및 @Brandon 가진 속성은 " 백킹을 field."; 따라서 이 경우:
public class Genre
{
private string name; // This is the backing field
public string Name // This is your property
{
get => name;
set => name = value;
}
}
그러나 약 한 시간 전 - re like me - # 39 you& 경우, 또는 그 어떤 와 # 39 don& 속성을 이해할 수 있습니다, t, t, 가장 좋은 don& 진실이며당신이 접근자에 있다 # 39 개 이상의 몇 가지 기본적인 이해를 중 하나. MSDN 은 우수한 도구가 돼 있지만, 항상 이렇게 it& # 39 의 com/go/learn_fl_cs4_learningas2_kr 초보자도 이해하기 쉬운 일은 아닙니다. 그래서 좀 더 깊이 목마르겠구나 I& # 39 m gonna try 설명해야 할지.
, 접근자에 마무리라뇨 they& 프레젠테이션이든 '와' 세트 '는' re in # 39, 데이터 및 정보 접근할 수 있게 필드 (field) 에서 보통 백킹을 ) 와 일반적으로 개인 승인하십시오 에서 공개 속성 (위의 예에서 볼 수 있듯이).
Genre g1 = new Genre(); //Here we're creating a new instance of the class "Genre"
//called g1. We'll create as many as we need (3)
Genre g2 = new Genre();
Genre g3 = new Genre();
//Note the () following new Genre. I believe that's essential since we're creating a
//new instance of a class (Like I said, I'm a beginner so I can't tell you exactly why
//it's there but I do know it's essential)
이제 we& 장르 클래스 인스턴스는 # 39, ve 창조하 설정할 수 있습니다 "라는 이름을 사용하여 name& # 39, & # 39. 속성이 있는 운행에서어떠한 설정되었습니다 위.
public string Name //Again, this is the 'Name' property
{ get; set; } //And this is the shorthand version the process we're doing right now
g1.Name = "Hip Hop";
'세트' 는 '가치' 라는 변수를 암시적입니다. 즉, 볼 때마다 기본적으로 " value"; # 39 의 세트 ',' 내 it& 가리킬 변수. 이 " value"; 변수. 하나님이 쓰기 '=', '=' 를 사용하여 g1.Name we& # 39 쪽의 통과 '가치', '엉덩이', 즉 가변적입니다 " Hop". 기본적으로 수 있도록 이렇게 생각해 보세요.
public class g1 //We've created an instance of the Genre Class called "g1"
{
private string name;
public string Name
{
get => name;
set => name = "Hip Hop"; //instead of 'value', "Hip Hop" is written because
//'value' in 'g1' was set to "Hip Hop" by previously
//writing 'g1.Name = "Hip Hop"'
}
}
이제 we& # 39, ve 장르 이름을 설정할 수 있을 것으로 믿고, g1 인스턴스에서는 이름을 써서 I get
console.WriteLine (g1.Name); //This uses the 'get' function from our 'Name' Property
//and returns the field 'name' which we just set to
//"Hip Hop"
만일 하나님이 ", 엉덩이, '의' 이 그런 프레젠테이션이든 실행했음 Hop" 콘솔이군요.
그래서 이같은 설명은 I& 목적으로 # 39, ll 완료하십시오 아니라 출력입니다 있는 예
using System;
public class Genre
{
public string Name { get; set; }
}
public class MainClass
{
public static void Main()
{
Genre g1 = new Genre();
Genre g2 = new Genre();
Genre g3 = new Genre();
g1.Name = "Hip Hop";
g2.Name = "Rock";
g3.Name = "Country";
Console.WriteLine ("Genres: {0}, {1}, {2}", g1.Name, g2.Name, g3.Name);
}
}
"Genres: Hip Hop, Rock, Country"
그것은 바로 가기인 노출시킵니다 don&, t need to public 으로 데이터 멤버의 개인 데이터에 명시적으로 만들 수 있도록 # 39 명. C # 가 tcpg 전용 데이터 멤버를 당신꺼에요.
그런데 이 짧은보기 사용하지 않고 그냥 만들 수 있는 공공 데이터 멤버를 결정한 경우 데이터 멤버를 %s/dbase/ext_table. 구축현 변경하십시오 논리라구요 단순화표현 분할하려면 인터페이스입니다 필요합니다. 따라서 파선-짧은 컴포지션이 짧은보기 보다 유연한 코드를 만들 수 있습니다.
class Genre{
private string genre;
public string getGenre() {
return this.genre;
}
public void setGenre(string theGenre) {
this.genre = theGenre;
}
}
//In Main method
genre g1 = new Genre();
g1.setGenre("Female");
g1.getGenre(); //Female
Get / set 는 논리를 패턴화합니다 수 있는 구조를 추가되도록 설정값입니다 (& # 39, set& # 39;) 중에 또는 읽어들이기가 (& # 39, get& # 39;) 한 때 유용할 수 있는 몇 가지 속성의 인스턴스에서는 인스턴스화되지 클래스 인스턴스 논리를 재산이잖아 필요합니다.
Get / set 으로 사용 패턴을 구현할 때 중간 가변입니다 컨테이너입니다 트로이카가, 값이 추출했습니다 값을 저장할 수 있습니다. 일반적으로 중간 가변입니다 밑줄로 시작하는. 이 중간 가변입니다 보면안돼 하기 위해 통해 액세스되는 get / set 페이징됩니다 아닐 수 없다. 가장 일반적으로 사용되는 구문을 통해 답을 브랜던, 그의 소속팀은 오토메이티드 참조 구현을 위한 댁꽕 get / set.
Visual Studio, 'X' 에서 사용할 수 있는 클래스, 속성 정의하면 이 클래스 전용 유형으로 뒤에을 구축하십니까 프로젝트 X 는 절대 대입된 경고에는 " 한다고 얻을 수 있습니다, 현장, 그리고 항상 value", 는 기본.
' {추가하여 프레젠테이션이든. 세트. } '의' X '속성 afaq afnor 경고야 없습니다
또한 비주얼 스튜디오 2013년 의 상위 버전, 그리고 추가하기만 ' {프레젠테이션이든. 세트. 그 모든 참조에는 재산이잖아} '볼 수 있습니다
기본적으로 대표 있다. "'Public string name, {프레젠테이션이든 작성할 수 있습니다. 세트. } "'등 여러 가지 있지만 쓸 수도 있습니다.
private string _name;
public string Name
{
get { return _name; }
set { _name = value ; } // value is a special keyword here
}
사용되는 것이 왜? 필터링하려면 액세스하도록 속성을 사용할 수 있으며, 예를 들어, t want 이름을 don& # 39 포함시키십시오 숫자임.
예를 들어 설명해 보겠습니다.
private class Person {
private int _age; // Person._age = 25; will throw an error
public int Age{
get { return _age; } // example: Console.WriteLine(Person.Age);
set {
if ( value >= 0) {
_age = value; } // valid example: Person.Age = 25;
}
}
}
좋은 습관 및 라우트의 속성를 자동 구현됩니까 불렀으매 공식적으로 읽을 수 있다 (프로그래밍 안내선). 또한 꼭 이래야겠어요 추천합니까 자습서는 비디오 [C # 속성: 사용하는 이유는 " get"; 그리고 set" ";] [2].
[2]: https://www.youtube.com/watch? v = I5d5pfkHXCs
속성 (우) 가 나타날 때 오른쪽에 있는 호출되었을 확보하십시오. 세트는 나타날 때 왼쪽에 호출되었을 속성 (LHS) & # 39, & # 39 의, = 기호
이 장면, 뒤에 백킹을 자동 구현됩니까 대한 속성, 현장 업무를 볼 수 없습니다.
예:
public string Log { get; set; }
반면 비사양 자동 구현됩니까 대한 속성을 백킹을 필드는 민자사업으로 볼 수 있으므로, 범위지정 변수다.
예:
private string log;
public string Log
{
get => log;
set => log = value;
}