簡體   English   中英

如何發送 Object Linq 排序列表作為參數

[英]How do I send a Object Linq sorted List as a parameter

我試圖讓我的代碼更加妥協,並且總體上使用更少,但是目前我遇到了無法發送按 linq 排序的對象列表作為參數的問題。 問題出在這部分代碼中:

List<Afspraken> dataAfspraken = new List<Afspraken>();

public Form1()
    {
        InitializeComponent();
        fillListsForLinq();
        loadReceptionData();
    }

        private void fillListsForLinq()
        {
            dataAfspraken = data.getAfsprakenData();
            //here it fills the list with Afspraken objects
        }

private void loadReceptionData()
    {
        private void loadReceptionGrid
            var receptionToFinnish =
                (from AFspraken in dataAfspraken
                 where Afspraken.factuur_betaald == true && Afspraken.volledig_afgerond == false
                 join Users in dataUsers on Afspraken.gekoppelde_klant equals Users.id
                 select new
                 {
                     Id = Afspraken.id,
                     Klant = Users.gebruikersnaam,
                     Betaald = Afspraken.factuur_betaald,
                     Afgerond = Afspraken.volledig_afgerond
                 }).ToList();
            changeDataviewReception(receptionToFinnish);
        }

        private void changeDataviewReception(List<Object> listData)
        {
            dgvReceptionData.DataSource = listData
        }

Afspraken 類看起來像這樣

        public class Afspraken
    {
       
        public int id { get; set; }
        public bool bevestigd { get; set; }
        public DateTime datum { get; set; }
        public int gekoppelde_klant { get; set; }
        public int gekoppelde_monteur { get; set; }
        public string benodigde_hadelingen { get; set; }
        public decimal totaalprijs { get; set; }
        public bool klaar { get; set; }
        public bool factuur_betaald { get; set; }
        public bool volledig_afgerond { get; set; }
        public string opmerkingen { get; set; }
    }

如何將receiveToFinnish作為參數輸入changeDataviewReception

receptionToFinnish將是一個包含匿名類型對象的列表。 但是您的方法需要List<object> 現在允許這樣做,因為列表不是變體類型。

例如,假設您有一份香蕉清單,並且想將其提供給想要一份水果清單的人。 這將不起作用,因為其他人可能會嘗試將橙色添加到香蕉列表中。

要解決此問題,請將值顯式轉換為object ,例如:

select new
{
    Id = Afspraken.id,
    Klant = Users.gebruikersnaam,
    Betaald = Afspraken.factuur_betaald,
    Afgerond = Afspraken.volledig_afgerond
} as object

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM