diff --git a/framework/src/Volo.Abp.TextTemplating.Razor/Volo.Abp.TextTemplating.Razor.csproj b/framework/src/Volo.Abp.TextTemplating.Razor/Volo.Abp.TextTemplating.Razor.csproj
index 962746bd0a..4242ca9f29 100644
--- a/framework/src/Volo.Abp.TextTemplating.Razor/Volo.Abp.TextTemplating.Razor.csproj
+++ b/framework/src/Volo.Abp.TextTemplating.Razor/Volo.Abp.TextTemplating.Razor.csproj
@@ -5,6 +5,8 @@
netstandard2.0;netstandard2.1;net7.0
+ enable
+ Nullable
diff --git a/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/AbpRazorTemplateCSharpCompiler.cs b/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/AbpRazorTemplateCSharpCompiler.cs
index c1dc5005b1..bdc8897ddf 100644
--- a/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/AbpRazorTemplateCSharpCompiler.cs
+++ b/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/AbpRazorTemplateCSharpCompiler.cs
@@ -40,7 +40,7 @@ public class AbpRazorTemplateCSharpCompiler : ISingletonDependency
.Select(x => MetadataReference.CreateFromFile(x.Location))
.ToImmutableList();
- public virtual Stream CreateAssembly(string code, string assemblyName, List references = null, CSharpCompilationOptions options = null)
+ public virtual Stream CreateAssembly(string code, string assemblyName, List? references = null, CSharpCompilationOptions? options = null)
{
var defaultReferences = DefaultReferences.Concat(Options.References);
try
diff --git a/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/DefaultAbpRazorProjectEngineFactory.cs b/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/DefaultAbpRazorProjectEngineFactory.cs
index d15d70ded6..d17bfaea4f 100644
--- a/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/DefaultAbpRazorProjectEngineFactory.cs
+++ b/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/DefaultAbpRazorProjectEngineFactory.cs
@@ -7,7 +7,7 @@ namespace Volo.Abp.TextTemplating.Razor;
public class DefaultAbpRazorProjectEngineFactory : IAbpRazorProjectEngineFactory, ITransientDependency
{
- public virtual async Task CreateAsync(Action configure = null)
+ public virtual async Task CreateAsync(Action? configure = null)
{
return RazorProjectEngine.Create(await CreateRazorConfigurationAsync(), EmptyProjectFileSystem.Empty, configure);
}
diff --git a/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/EmptyProjectFileSystem.cs b/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/EmptyProjectFileSystem.cs
index fd2b90a6b1..8c8d8703dd 100644
--- a/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/EmptyProjectFileSystem.cs
+++ b/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/EmptyProjectFileSystem.cs
@@ -21,7 +21,7 @@ internal class EmptyProjectFileSystem : RazorProjectFileSystem
return GetItem(path, fileKind: null);
}
- public override RazorProjectItem GetItem(string path, string fileKind)
+ public override RazorProjectItem GetItem(string path, string? fileKind)
{
NormalizeAndEnsureValidPath(path);
return new NotFoundProjectItem(string.Empty, path, fileKind);
diff --git a/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/IAbpRazorProjectEngineFactory.cs b/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/IAbpRazorProjectEngineFactory.cs
index 969ce762d1..197133ef72 100644
--- a/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/IAbpRazorProjectEngineFactory.cs
+++ b/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/IAbpRazorProjectEngineFactory.cs
@@ -6,5 +6,5 @@ namespace Volo.Abp.TextTemplating.Razor;
public interface IAbpRazorProjectEngineFactory
{
- Task CreateAsync(Action configure = null);
+ Task CreateAsync(Action? configure = null);
}
diff --git a/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/IRazorTemplatePage.cs b/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/IRazorTemplatePage.cs
index 78b80941e9..f4b2a17006 100644
--- a/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/IRazorTemplatePage.cs
+++ b/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/IRazorTemplatePage.cs
@@ -8,24 +8,24 @@ namespace Volo.Abp.TextTemplating.Razor;
public interface IRazorTemplatePage : IRazorTemplatePage
{
- TModel Model { get; set; }
+ TModel? Model { get; set; }
}
public interface IRazorTemplatePage
{
IServiceProvider ServiceProvider { get; set; }
- IStringLocalizer Localizer { get; set; }
+ IStringLocalizer? Localizer { get; set; }
- HtmlEncoder HtmlEncoder { get; set; }
+ HtmlEncoder? HtmlEncoder { get; set; }
- JavaScriptEncoder JavaScriptEncoder { get; set; }
+ JavaScriptEncoder? JavaScriptEncoder { get; set; }
- UrlEncoder UrlEncoder { get; set; }
+ UrlEncoder? UrlEncoder { get; set; }
Dictionary GlobalContext { get; set; }
- string Body { get; set; }
+ string? Body { get; set; }
Task ExecuteAsync();
diff --git a/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/NotFoundProjectItem.cs b/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/NotFoundProjectItem.cs
index 5db2c8f582..2651237d2d 100644
--- a/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/NotFoundProjectItem.cs
+++ b/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/NotFoundProjectItem.cs
@@ -6,7 +6,7 @@ namespace Volo.Abp.TextTemplating.Razor;
internal class NotFoundProjectItem : RazorProjectItem
{
- public NotFoundProjectItem(string basePath, string path, string fileKind)
+ public NotFoundProjectItem(string basePath, string path, string? fileKind)
{
BasePath = basePath;
FilePath = path;
diff --git a/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/RazorTemplatePageBase.cs b/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/RazorTemplatePageBase.cs
index fd2d2c13e7..a85d9d1480 100644
--- a/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/RazorTemplatePageBase.cs
+++ b/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/RazorTemplatePageBase.cs
@@ -9,30 +9,30 @@ namespace Volo.Abp.TextTemplating.Razor;
public abstract class RazorTemplatePageBase : RazorTemplatePageBase, IRazorTemplatePage
{
- public TModel Model { get; set; }
+ public TModel? Model { get; set; }
}
public abstract class RazorTemplatePageBase : IRazorTemplatePage
{
- public Dictionary GlobalContext { get; set; }
+ public Dictionary GlobalContext { get; set; } = default!;
- public IServiceProvider ServiceProvider { get; set; }
+ public IServiceProvider ServiceProvider { get; set; } = default!;
- public IStringLocalizer Localizer { get; set; }
+ public IStringLocalizer? Localizer { get; set; }
- public HtmlEncoder HtmlEncoder { get; set; }
+ public HtmlEncoder? HtmlEncoder { get; set; }
- public JavaScriptEncoder JavaScriptEncoder { get; set; }
+ public JavaScriptEncoder? JavaScriptEncoder { get; set; }
- public UrlEncoder UrlEncoder { get; set; }
+ public UrlEncoder? UrlEncoder { get; set; }
- public string Body { get; set; }
+ public string? Body { get; set; }
private readonly StringBuilder _stringBuilder = new StringBuilder();
private AttributeInfo _attributeInfo;
- public virtual void WriteLiteral(string literal = null)
+ public virtual void WriteLiteral(string? literal = null)
{
if (!literal.IsNullOrEmpty())
{
@@ -40,7 +40,7 @@ public abstract class RazorTemplatePageBase : IRazorTemplatePage
}
}
- public virtual void Write(object value = null)
+ public virtual void Write(object? value = null)
{
if (value is null)
{
diff --git a/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/RazorTemplateRenderingEngine.cs b/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/RazorTemplateRenderingEngine.cs
index 86298f2daf..2384bd8740 100644
--- a/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/RazorTemplateRenderingEngine.cs
+++ b/framework/src/Volo.Abp.TextTemplating.Razor/Volo/Abp/TextTemplating/Razor/RazorTemplateRenderingEngine.cs
@@ -34,9 +34,9 @@ public class RazorTemplateRenderingEngine : TemplateRenderingEngineBase, ITransi
public override async Task RenderAsync(
[NotNull] string templateName,
- [CanBeNull] object model = null,
- [CanBeNull] string cultureName = null,
- [CanBeNull] Dictionary globalContext = null)
+ object? model = null,
+ string? cultureName = null,
+ Dictionary? globalContext = null)
{
Check.NotNullOrWhiteSpace(templateName, nameof(templateName));
@@ -70,9 +70,9 @@ public class RazorTemplateRenderingEngine : TemplateRenderingEngineBase, ITransi
protected virtual async Task RenderInternalAsync(
string templateName,
- string body,
+ string? body,
Dictionary globalContext,
- object model = null)
+ object? model = null)
{
var templateDefinition = await TemplateDefinitionManager.GetAsync(templateName);
@@ -97,9 +97,9 @@ public class RazorTemplateRenderingEngine : TemplateRenderingEngineBase, ITransi
protected virtual async Task RenderSingleTemplateAsync(
TemplateDefinition templateDefinition,
- string body,
+ string? body,
Dictionary globalContext,
- object model = null)
+ object? model = null)
{
return await RenderTemplateContentWithRazorAsync(
templateDefinition,
@@ -111,13 +111,13 @@ public class RazorTemplateRenderingEngine : TemplateRenderingEngineBase, ITransi
protected virtual async Task RenderTemplateContentWithRazorAsync(
TemplateDefinition templateDefinition,
- string body,
+ string? body,
Dictionary globalContext,
- object model = null)
+ object? model = null)
{
var assembly = await AbpCompiledViewProvider.GetAssemblyAsync(templateDefinition);
- var templateType = assembly.GetType(AbpRazorTemplateConsts.TypeName);
- var template = (IRazorTemplatePage)Activator.CreateInstance(templateType);
+ var templateType = assembly.GetType(AbpRazorTemplateConsts.TypeName)!;
+ var template = (IRazorTemplatePage)Activator.CreateInstance(templateType)!;
using (var scope = ServiceScopeFactory.CreateScope())
{
@@ -147,11 +147,11 @@ public class RazorTemplateRenderingEngine : TemplateRenderingEngineBase, ITransi
}
}
- private void SetModel(IRazorTemplatePage razorTemplatePage, object model = null)
+ private void SetModel(IRazorTemplatePage razorTemplatePage, object? model = null)
{
if (razorTemplatePage is IRazorTemplatePage razorTemplatePageWithModel)
{
- razorTemplatePageWithModel.Model = (TModel)model;
+ razorTemplatePageWithModel.Model = (TModel?)model;
}
}
}
diff --git a/framework/src/Volo.Abp.TextTemplating.Scriban/Volo.Abp.TextTemplating.Scriban.csproj b/framework/src/Volo.Abp.TextTemplating.Scriban/Volo.Abp.TextTemplating.Scriban.csproj
index d18d90c8f9..ea1d0f0f8d 100644
--- a/framework/src/Volo.Abp.TextTemplating.Scriban/Volo.Abp.TextTemplating.Scriban.csproj
+++ b/framework/src/Volo.Abp.TextTemplating.Scriban/Volo.Abp.TextTemplating.Scriban.csproj
@@ -5,6 +5,8 @@
netstandard2.0;netstandard2.1;net7.0
+ enable
+ Nullable
diff --git a/framework/src/Volo.Abp.TextTemplating.Scriban/Volo/Abp/TextTemplating/Scriban/ScribanTemplateLocalizer.cs b/framework/src/Volo.Abp.TextTemplating.Scriban/Volo/Abp/TextTemplating/Scriban/ScribanTemplateLocalizer.cs
index 91af004cf9..6bf32d1a58 100644
--- a/framework/src/Volo.Abp.TextTemplating.Scriban/Volo/Abp/TextTemplating/Scriban/ScribanTemplateLocalizer.cs
+++ b/framework/src/Volo.Abp.TextTemplating.Scriban/Volo/Abp/TextTemplating/Scriban/ScribanTemplateLocalizer.cs
@@ -44,7 +44,7 @@ public class ScribanTemplateLocalizer : IScriptCustomFunction
}
var args = arguments.Skip(1).Where(x => x != null && !x.ToString().IsNullOrWhiteSpace()).ToArray();
- return args.Any() ? _localizer[name.ToString(), args] : _localizer[name.ToString()];
+ return args.Any() ? _localizer[name.ToString()!, args] : _localizer[name.ToString()!];
}
public int RequiredParameterCount => 1;
diff --git a/framework/src/Volo.Abp.TextTemplating.Scriban/Volo/Abp/TextTemplating/Scriban/ScribanTemplateRenderingEngine.cs b/framework/src/Volo.Abp.TextTemplating.Scriban/Volo/Abp/TextTemplating/Scriban/ScribanTemplateRenderingEngine.cs
index a4da669893..7a5ac79592 100644
--- a/framework/src/Volo.Abp.TextTemplating.Scriban/Volo/Abp/TextTemplating/Scriban/ScribanTemplateRenderingEngine.cs
+++ b/framework/src/Volo.Abp.TextTemplating.Scriban/Volo/Abp/TextTemplating/Scriban/ScribanTemplateRenderingEngine.cs
@@ -24,9 +24,9 @@ public class ScribanTemplateRenderingEngine : TemplateRenderingEngineBase, ITran
public override async Task RenderAsync(
[NotNull] string templateName,
- [CanBeNull] object model = null,
- [CanBeNull] string cultureName = null,
- [CanBeNull] Dictionary globalContext = null)
+ object? model = null,
+ string? cultureName = null,
+ Dictionary? globalContext = null)
{
Check.NotNullOrWhiteSpace(templateName, nameof(templateName));
@@ -59,7 +59,7 @@ public class ScribanTemplateRenderingEngine : TemplateRenderingEngineBase, ITran
protected virtual async Task RenderInternalAsync(
string templateName,
Dictionary globalContext,
- object model = null)
+ object? model = null)
{
var templateDefinition = await TemplateDefinitionManager.GetAsync(templateName);
@@ -84,13 +84,13 @@ public class ScribanTemplateRenderingEngine : TemplateRenderingEngineBase, ITran
protected virtual async Task RenderSingleTemplateAsync(
TemplateDefinition templateDefinition,
Dictionary globalContext,
- object model = null)
+ object? model = null)
{
var rawTemplateContent = await GetContentOrNullAsync(templateDefinition);
return await RenderTemplateContentWithScribanAsync(
templateDefinition,
- rawTemplateContent,
+ rawTemplateContent!,
globalContext,
model
);
@@ -100,7 +100,7 @@ public class ScribanTemplateRenderingEngine : TemplateRenderingEngineBase, ITran
TemplateDefinition templateDefinition,
string templateContent,
Dictionary globalContext,
- object model = null)
+ object? model = null)
{
var context = CreateScribanTemplateContext(
templateDefinition,
@@ -116,7 +116,7 @@ public class ScribanTemplateRenderingEngine : TemplateRenderingEngineBase, ITran
protected virtual TemplateContext CreateScribanTemplateContext(
TemplateDefinition templateDefinition,
Dictionary globalContext,
- object model = null)
+ object? model = null)
{
var context = new TemplateContext();
diff --git a/framework/src/Volo.Abp.TextTemplating/Volo.Abp.TextTemplating.csproj b/framework/src/Volo.Abp.TextTemplating/Volo.Abp.TextTemplating.csproj
index 27907183c0..f8d1d85192 100644
--- a/framework/src/Volo.Abp.TextTemplating/Volo.Abp.TextTemplating.csproj
+++ b/framework/src/Volo.Abp.TextTemplating/Volo.Abp.TextTemplating.csproj
@@ -5,6 +5,8 @@
netstandard2.0;netstandard2.1;net7.0
+ enable
+ Nullable