using System.Collections.Generic;
using System.Linq;
using System.Xml;
+using Microsoft.Build.Exceptions;
using Microsoft.Build.Internal;
namespace Microsoft.Build.Construction
{
ContainingProject = containingProject;
}
- public string ContinueOnError { get; set; }
- public string Name { get; private set; }
+ string continueOnError;
+ public string ContinueOnError {
+ get { return continueOnError ?? String.Empty; }
+ set { continueOnError = value; }
+ }
+ string name;
+ public string Name { get { return name ?? String.Empty; } private set { name = value; } }
public ICollection<ProjectOutputElement> Outputs {
get { return new CollectionFromEnumerable<ProjectOutputElement> (
new FilteredEnumerable<ProjectOutputElement> (AllChildren)); }
AppendChild (output);
return output;
default:
- throw new NotImplementedException (string.Format (
+ throw new InvalidProjectFileException (string.Format (
"Child \"{0}\" is not a known node type.", name));
}
}
internal override void LoadAttribute (string name, string value)
{
switch (name) {
- case "Name":
- Name = value;
- break;
case "ContinueOnError":
ContinueOnError = value;
break;
}
internal override void SaveValue (XmlWriter writer)
{
- SaveAttribute (writer, "Name", Name);
SaveAttribute (writer, "ContinueOnError", ContinueOnError);
foreach (var parameter in parameters) {
SaveAttribute (writer, parameter.Key, parameter.Value);