tests/DotNetCommon.Test/Extensions/GenericExtensions/GettingUninitializedInstanceTests.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
namespace DotNetCommon.Test.GenericExtensions
{
using System;
using NUnit.Framework;
using Shouldly;
using DotNetCommon;
using DotNetCommon.Extensions;
[TestFixture]
public sealed class GettingUninitializedInstanceTests
{
[Test]
public void Run()
{
var classA = GenericExtensions.GetUninitializedInstance<ClassA>();
classA.Age.ShouldBe(0);
classA.Name.ShouldBeNull();
classA.Number.ShouldBe(29);
var classB = GenericExtensions.GetUninitializedInstance<ClassB>();
classB.Age.ShouldBe(0);
classB.Name.ShouldBeNull();
var classBb = GenericExtensions.GetUninitializedInstance<ClassBB>();
classBb.Age.ShouldBe(0);
classBb.Name.ShouldBeNull();
classBb.Method().ShouldBe(0);
var classC = GenericExtensions.GetUninitializedInstance<ClassC>();
classC.Age.ShouldBe(0);
classC.Name.ShouldBeNull();
Should.Throw<MemberAccessException>(() => GenericExtensions.GetUninitializedInstance<ClassD>())
.Message.ShouldBe("Cannot create an abstract class.");
var classE = GenericExtensions.GetUninitializedInstance<ClassE>();
classE.GetAge().ShouldBe(666);
classE.GetName().ShouldBe("Happy");
var structA = GenericExtensions.GetUninitializedInstance<StructA>();
structA.Name.ShouldBeNull();
structA.Age.ShouldBe(0);
}
private class ClassA
{
public string Name { get; set; }
public int Age { get; set; }
public int Number => 29;
private ClassA()
{
Name = "Sample";
Age = 10;
}
private void Method() { }
}
private sealed class ClassB
后面还有 75 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
