ClrPlus.Scripting.MsBuild.Packaging.ProjectPlus.AddContainsTaskDefinition C# (CSharp) Method

AddContainsTaskDefinition() public method

public AddContainsTaskDefinition ( ) : Microsoft.Build.Construction.ProjectTargetElement
return Microsoft.Build.Construction.ProjectTargetElement
        public ProjectTargetElement AddContainsTaskDefinition()
        {
            // add the startup/init tasks (and the task for the Contains function)
            var task = Xml.AddUsingTask(SafeName + "_Contains", @"$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll", null);
            task.TaskFactory = "CodeTaskFactory";
            var pgroup = task.AddParameterGroup();
            pgroup.AddParameter("Text", "false", string.Empty, "System.String");
            pgroup.AddParameter("Library", "false", "true", "System.String");
            pgroup.AddParameter("Value", "false", "true", "System.String");
            pgroup.AddParameter("Result", "true", string.Empty, "System.String");

            var body = task.AddUsingTaskBody(string.Empty, string.Empty);

            // thank you.
            body.XmlElement().Append("Code").InnerText = @"Result = ((Text ?? """").Split(';').Contains(Library) ) ? Value : String.Empty;";

            return FirstInitTarget;
        }