ClrPlus.Scripting.MsBuild.Packaging.ProjectPlus.LookupImport C# (CSharp) Метод

LookupImport() приватный Метод

private LookupImport ( Microsoft.Build.Construction.ProjectImportGroupElement parent, string importPath, string condition = null ) : Microsoft.Build.Construction.ProjectImportElement
parent Microsoft.Build.Construction.ProjectImportGroupElement
importPath string
condition string
Результат Microsoft.Build.Construction.ProjectImportElement
        internal ProjectImportElement LookupImport(ProjectImportGroupElement parent, string importPath, string condition = null)
        {
            ProjectImportElement import = null;

            var label = Pivots.GetExpressionLabel(condition);

            if(string.IsNullOrEmpty(condition)) {
                import = parent.Imports.FirstOrDefault(each => importPath == each.Project && string.IsNullOrEmpty(each.Condition));
                if(import != null) {
                    return import;
                }
                return parent.AddImport(importPath);
            }

            var conditionExpression = Pivots.GetMSBuildCondition(Name, condition);
            import = parent.Imports.FirstOrDefault(each => importPath == each.Project && each.Condition == conditionExpression);
            if(import != null) {
                return import;
            }

            import = parent.AddImport(importPath);

            import.Label = label;
            import.Condition = conditionExpression;
            return import;
        }

Same methods

ProjectPlus::LookupImport ( string importPath, string condition = null ) : Microsoft.Build.Construction.ProjectImportElement