Use as cast instead of C-style cast for IVewContextAware helpers

Fixes #5254
This commit is contained in:
Pranav K 2016-09-12 16:34:02 -07:00 committed by GitHub
parent eee1a9fef4
commit 4a5e1f4a72
3 changed files with 6 additions and 6 deletions

View File

@ -149,7 +149,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Host.Internal
})) }))
{ {
Writer.WriteInstanceMethodInvocation( Writer.WriteInstanceMethodInvocation(
$"((global::{_context.IViewContextAwareTypeName}){ViewComponentTagHelperVariable})", $"({ViewComponentTagHelperVariable} as global::{_context.IViewContextAwareTypeName})?",
_context.ContextualizeMethodName, _context.ContextualizeMethodName,
new [] { ViewContextVariable }); new [] { ViewContextVariable });

View File

@ -50,12 +50,12 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Host.Test.Internal
if (!string.Equals(expectedOutput, resultOutput, StringComparison.Ordinal)) if (!string.Equals(expectedOutput, resultOutput, StringComparison.Ordinal))
{ {
ResourceFile.UpdateFile(assembly, path, expectedOutput, resultOutput); ResourceFile.UpdateFile(assembly, path, expectedOutput, resultOutput);
expectedOutput = ResourceFile.ReadResource(assembly, path, sourceFile: true);
} }
#endif #else
// Assert // Assert
Assert.Equal(expectedOutput, resultOutput, ignoreLineEndingDifferences: true); Assert.Equal(expectedOutput, resultOutput, ignoreLineEndingDifferences: true);
#endif
} }
} }
} }

View File

@ -11,7 +11,7 @@ public class __Generated__FooViewComponentTagHelper : Microsoft.AspNetCore.Razor
public System.String Attribute { get; set; } public System.String Attribute { get; set; }
public override async global::System.Threading.Tasks.Task ProcessAsync(Microsoft.AspNetCore.Razor.TagHelpers.TagHelperContext context, Microsoft.AspNetCore.Razor.TagHelpers.TagHelperOutput output) public override async global::System.Threading.Tasks.Task ProcessAsync(Microsoft.AspNetCore.Razor.TagHelpers.TagHelperContext context, Microsoft.AspNetCore.Razor.TagHelpers.TagHelperOutput output)
{ {
((global::Microsoft.AspNetCore.Mvc.ViewFeatures.IViewContextAware)_viewComponentHelper).Contextualize(ViewContext); (_viewComponentHelper as global::Microsoft.AspNetCore.Mvc.ViewFeatures.IViewContextAware)?.Contextualize(ViewContext);
var viewContent = await _viewComponentHelper.InvokeAsync("Foo", new { Attribute }); var viewContent = await _viewComponentHelper.InvokeAsync("Foo", new { Attribute });
output.TagName = null; output.TagName = null;
output.Content.SetHtmlContent(viewContent); output.Content.SetHtmlContent(viewContent);
@ -30,7 +30,7 @@ public class __Generated__BarViewComponentTagHelper : Microsoft.AspNetCore.Razor
public System.String Attribute { get; set; } public System.String Attribute { get; set; }
public override async global::System.Threading.Tasks.Task ProcessAsync(Microsoft.AspNetCore.Razor.TagHelpers.TagHelperContext context, Microsoft.AspNetCore.Razor.TagHelpers.TagHelperOutput output) public override async global::System.Threading.Tasks.Task ProcessAsync(Microsoft.AspNetCore.Razor.TagHelpers.TagHelperContext context, Microsoft.AspNetCore.Razor.TagHelpers.TagHelperOutput output)
{ {
((global::Microsoft.AspNetCore.Mvc.ViewFeatures.IViewContextAware)_viewComponentHelper).Contextualize(ViewContext); (_viewComponentHelper as global::Microsoft.AspNetCore.Mvc.ViewFeatures.IViewContextAware)?.Contextualize(ViewContext);
var viewContent = await _viewComponentHelper.InvokeAsync("Bar", new { Attribute }); var viewContent = await _viewComponentHelper.InvokeAsync("Bar", new { Attribute });
output.TagName = null; output.TagName = null;
output.Content.SetHtmlContent(viewContent); output.Content.SetHtmlContent(viewContent);