+
+
+
+
+
+
+ The class to be generated will look approximately like:
+ metadata;
+ private readonly IReadOnlyDictionary defaultMetadata;
+
+ private __Foo__MetadataViewProxy (IReadOnlyDictionary metadata, IReadOnlyDictionary defaultMetadata)
+ {
+ this.metadata = metadata;
+ this.defaultMetadata = defaultMetadata;
+ }
+
+ // Interface
+ public string RefTypeProperty
+ {
+ get
+ {
+ object value;
+ if (!this.metadata.TryGetValue("RefTypeProperty", out value))
+ value = this.defaultMetadata["RefTypeProperty"];
+ return value as string;
+ }
+ }
+
+ public bool ValueTypeProperty
+ {
+ get
+ {
+ object value;
+ if (!this.metadata.TryGetValue("RefTypeProperty", out value))
+ value = this.defaultMetadata["RefTypeProperty"];
+ return (bool)value;
+ }
+ }
+
+ public static object Create(IReadOnlyDictionary metadata, IReadOnlyDictionary defaultMetadata)
+ {
+ return new __Foo__MetadataViewProxy(metadata, defaultMetadata);
+ }
+ }
+ ]]>
+
+ Expression: "(IsCSharp & ConfigFileAdded) | IsVB"
+
+ Terms: {
+ "IsCSharp": "SolutionHasProjectCapability:CSharp",
+ "ConfigFileAdded": "ProjectAddedItem:.config$",
+ "IsVB": "SolutionHasProjectCapability:VB"
+ }
+
+
+ OperationEvent operation = new OperationEvent("vs/debugger/loadingAssembly", Result.Success);
+ TelemetryService.DefaultSession.PostEvent(operation);
+
+
+ UserTask userTask = new UserTask("vs/debugger/stepinto", Result.Success);
+ TelemetryService.DefaultSession.PostEvent(userTask);
+
+