调用带ref参数的函数

本文关键字:函数 参数 ref 调用 | 更新日期: 2023-09-27 18:17:51

我有一个使用ref参数的函数问题。这个函数使用linq调用自己,像这样:

public Champ(tabloidConfigColonne tcc,ref Dictionary<string, Jointure> jointures)
            {
              ...
             sousChamps = lc.ToDictionary(
                            o => o.nom,
                            o => new Champ(o, ref jointures));
             }

匿名函数中ref不可用

功能在这里

public Champ(tabloidConfigColonne tcc,ref Dictionary<string, Jointure> jointures)
        {
            nom = tcc.champ;
            description = tcc.titre;
            type = tcc.type;
            valeurDefaut = tcc.valeurParDefaut;
            modeEdition=new Template(tcc.editeur, tcc.editeurParam1, tcc.editeurParam2, tcc.editeurParam3);
            if (!string.IsNullOrEmpty(tcc.jointure))
            {
                jointure = jointures[tcc.jointure];
                nomTable = jointure.nomNouvelleTable;
            }
            visu=tcc.visu;
            Groupe=tcc.groupe;
            Id=tcc.nom;
            valideurs = tcc.valideurs;
            Obligatoire = tcc.obligatoire;
            if (tcc.colonnes.Count>0)
            {
                List<tabloidConfigColonne> lc = tcc.colonnes.GetColonnes(visibiliteTools.getFullVisibilite(),false);
                sousChamps = lc.ToDictionary(
                    o => o.nom,
                    o => new Champ(o, ref jointures));
            }
        }

谢谢你的帮助。

调用带ref参数的函数

我没有足够的代表来评论,所以…

不需要为引用类型(对象)使用ref,除非你要在函数内部创建一个该对象的新实例。

查看这篇关于ref的更多解释:c# ref是否像C/c++中的指针或c++中的引用?