IT story

잘못된 익명 형식 멤버 선언자

hot-time 2020. 12. 29. 07:55
반응형

잘못된 익명 형식 멤버 선언자


이 MSDN Forums 게시물 에 따라 작동해야하는 다음 코드에 문제가 있습니다.

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;

namespace LINQTest
{
    class Program
    {
        class Schedule
        {
            public int empid { get; set; }
            public int hours { get; set; }
            public DateTime date { get; set; }
            public DateTime weekending { get; set; }
        }

        static void Main(string[] args)
        {
            List<Schedule> Schedules = new List<Schedule>();

            var bla = from s in Schedules
                      group s by new { s.empid, s.weekending} into g
                      select new { g.Key.empid, g.Key.weekending, g.Sum(s=>s.hours)};
        }
    }
}

sum 함수 : Invalid anonymous type member declarator 오류가 발생합니다. 익명 형식 멤버는 멤버 할당, 단순 이름 또는 멤버 액세스로 선언해야합니다.

뭐가 문제 야?


Sum메서드 결과 를 저장 하는 데 사용되는 속성의 이름을 지정해야합니다 .

select new { g.Key.empid, g.Key.weekending, Sum = g.Sum(s=>s.hours)};

식에서 값을 할당 할 때 컴파일러는 속성 이름을 유추 할 수 없습니다.

익명 형식 (C # 프로그래밍 가이드)

식 (...)으로 초기화되는 속성의 이름을 제공해야합니다.

참조 URL : https://stackoverflow.com/questions/18856885/invalid-anonymous-type-member-declarator

반응형