protected ModelExplorer GetModelExplorer <TResult>(Expression <Func <TModel, TResult> > expression) { if (expression == null) { throw new ArgumentNullException(nameof(expression)); } var modelExplorer = ExpressionMetadataProvider.FromLambdaExpression(expression, ViewData, MetadataProvider); if (modelExplorer == null) { var expressionName = GetExpressionName(expression); throw new InvalidOperationException(Resources.FormatHtmlHelper_NullModelMetadata(expressionName)); } return(modelExplorer); }
/// <inheritdoc /> public string DisplayNameForInnerType <TModelItem, TResult>( Expression <Func <TModelItem, TResult> > expression) { if (expression == null) { throw new ArgumentNullException(nameof(expression)); } var modelExplorer = ExpressionMetadataProvider.FromLambdaExpression <TModelItem, TResult>( expression, new ViewDataDictionary <TModelItem>(ViewData, model: null), MetadataProvider); var expressionText = ExpressionHelper.GetExpressionText(expression); if (modelExplorer == null) { throw new InvalidOperationException(Resources.FormatHtmlHelper_NullModelMetadata(expressionText)); } return(GenerateDisplayName(modelExplorer, expressionText)); }