C#에서 이상한 형식의 구문을 발견하고 의미와 사용 방법을 파악하려고했습니다. 여기에 그물에 대한 문서가없는 것 같습니다.이 구문의 의미는 무엇입니까? new {}
object data = new { var1 = someValue, var2 = anotherValue }
이 구문에는 오류가 없으므로 C#에서 허용하는 것으로 가정합니다. 무슨 뜻이에요?
C#에서 이상한 형식의 구문을 발견하고 의미와 사용 방법을 파악하려고했습니다. 여기에 그물에 대한 문서가없는 것 같습니다.이 구문의 의미는 무엇입니까? new {}
object data = new { var1 = someValue, var2 = anotherValue }
이 구문에는 오류가 없으므로 C#에서 허용하는 것으로 가정합니다. 무슨 뜻이에요?
익명 형식입니다.
class anonymous
{
public readonly type var1; // "type" is the type of somevalue
public readonly type var2; // "type" is the type of anothervalue
}
var data = new anonymous { var1 = somevalue, var2 = anothervalue };
회원에게'readonly '를 덧붙이 기 위해 편집 됨 –
@TimothyShields 흠,'readonly' 역시 너무 정확하지 않습니다. 그것들은 getter를 가진 속성이지만 setter는 없으므로'public type var1 {get {...}} '과 같은 서명이됩니다. –
@JeppeStigNielsen 나는 알고있다. 나는 대담하게 변화하는 cshplpler의 대답없이 더 가깝게 지낼 예정이었다. 'readonly' 힌트가 없다면, 누군가는 이것이 변경 가능한 필드라고 생각할지도 모른다. –
이 구문은 "익명 형식"의 인스턴스를 만듭니다. 아직 완전히 유형에 안전하지만 정적으로 유형이 지정된 객체이지만 객체를 만들 때 원하는 속성을 추가 할 수 있습니다.
자세한 내용은 here입니다.
익명 형식을 반환 형식으로 사용하거나 멤버 형식 필드를 사용하여 선언 할 수는 없습니다. 형식 이름을 제공 할 필요가 없으므로 형식 이름을 제공해야하는 곳에서는 사용할 수 없습니다.
익명 유형 인스턴스화 : http://msdn.microsoft.com/en-us/library/vstudio/bb397696.aspx – pcnThird
그것은 기본적으로 클래스처럼 작동합니다 전형적으로 익명 타입을 보존하기 위해'var data = new {...};'를 사용할 것입니다. –