mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-29 00:29:01 +08:00
- 移除ContextAwareServiceExtensions中GetService/GetSystem/GetModel/GetUtility方法的可空返回值 - 添加ContextGetGenerator源码生成器,支持通过特性自动生成上下文注入代码 - 新增GetService/GetServices/GetSystem/GetSystems/GetModel/GetModels/GetUtility/GetUtilities/GetAll特性 - 添加ContextGetDiagnostics提供注入相关的编译时诊断检查 - 实现INamedTypeSymbol扩展方法AreAllDeclarationsPartial用于检查partial类声明 - 添加ITypeSymbol扩展方法IsAssignableTo用于类型兼容性判断 - 创建FieldCandidateInfo和TypeCandidateInfo记录类型用于存储生成器候选信息 - 添加IsExternalInit内部类型支持低版本.NET框架的init-only setter功能 - 更新AnalyzerReleases.Unshipped.md添加新的诊断规则条目 - 创建完整的单元测试验证生成器功能和各种边界情况
20 lines
590 B
C#
20 lines
590 B
C#
// IsExternalInit.cs
|
|
// This type is required to support init-only setters and record types
|
|
// when targeting netstandard2.0 or older frameworks.
|
|
|
|
#if !NET5_0_OR_GREATER
|
|
using System.ComponentModel;
|
|
|
|
// ReSharper disable CheckNamespace
|
|
|
|
namespace System.Runtime.CompilerServices;
|
|
|
|
/// <summary>
|
|
/// 提供一个占位符类型,用于支持 C# 9.0 的 init 访问器功能。
|
|
/// 该类型在 .NET 5.0 及更高版本中已内置,因此仅在较低版本的 .NET 中定义。
|
|
/// </summary>
|
|
[EditorBrowsable(EditorBrowsableState.Never)]
|
|
internal static class IsExternalInit
|
|
{
|
|
}
|
|
#endif |