public IMSBuildPropertyEvaluated GetProperty(string name) { IMSBuildPropertyEvaluated prop; if (!properties.TryGetValue(name, out prop)) { if (sourceItem != null) { if (engine.GetItemHasMetadata(sourceItem, name)) { prop = new MSBuildPropertyEvaluated(ParentProject, name, engine.GetItemMetadata(sourceItem, name), engine.GetEvaluatedItemMetadata(sourceItem, name)); properties [name] = prop; } } } return(prop); }
internal void Sync(MSBuildEngine engine, object item) { properties.Clear(); this.engine = engine; foreach (var propName in engine.GetItemMetadataNames(item)) { var prop = new MSBuildPropertyEvaluated(ParentProject, propName, engine.GetItemMetadata(item, propName), engine.GetEvaluatedItemMetadata(item, propName)); properties [propName] = prop; } }