diff --git a/Study.DelegateSeries.Core/DeclareDelegate.cs b/Study.DelegateSeries.Core/DeclareDelegate.cs
new file mode 100644
index 0000000..2ab73d7
--- /dev/null
+++ b/Study.DelegateSeries.Core/DeclareDelegate.cs
@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Study.DelegateSeries.Core
+{
+
+ ///
+ /// 显示类型名 委托
+ ///
+ /// 类型名
+ public delegate string ShowTypeNameDelegate();
+
+ ///
+ /// 显示人名 委托
+ ///
+ /// 人名
+ public delegate string ShowPersonName();
+
+ ///
+ /// 计算器:计算委托
+ ///
+ /// 参数A
+ /// 参数B
+ /// 计算结果
+ public delegate decimal CalculatorDelegate(decimal numberA,decimal numberB);
+
+ ///
+ /// 返回整形无参 委托
+ ///
+ /// 整形数字
+ public delegate int IntegerDelegate();
+}
diff --git a/Study.DelegateSeries.Core/Demo.cs b/Study.DelegateSeries.Core/Demo.cs
index 4f7bde7..42d18c0 100644
--- a/Study.DelegateSeries.Core/Demo.cs
+++ b/Study.DelegateSeries.Core/Demo.cs
@@ -4,27 +4,21 @@ using System.Text;
namespace Study.DelegateSeries.Core
{
- public delegate int mydelegate();
+
public class Demo
{
-
- public int MyDemo(int b)
+ public int Square(int number)
{
- return b * b;
+ return number * number;
}
public int UseDelegate()
{
- mydelegate d = delegate () { return 5; };
+ IntegerDelegate intDelegate = delegate () { return 5; };
- var total = MyDemo(d());
+ var total = Square(intDelegate());
return total;
}
-
- private void aa()
- {
-
- }
}
}
diff --git a/Study.DelegateSeries.Test/DemoTest.cs b/Study.DelegateSeries.Test/DemoTest.cs
deleted file mode 100644
index a9f5165..0000000
--- a/Study.DelegateSeries.Test/DemoTest.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using Xunit;
-
-using Study.DelegateSeries.Core;
-
-namespace Study.DelegateSeries.Test
-{
- public class DemoTest
- {
- [Fact]
- public void Test1()
- {
- var _demo = new Demo();
- var total = _demo.UseDelegate();
-
- Assert.Equal(25, total);
- }
- }
-}
diff --git a/Study.DelegateSeries.Test/Study.DelegateSeries.Test.csproj b/Study.DelegateSeries.Test/Study.DelegateSeries.Test.csproj
index 10f5e03..c5317ee 100644
--- a/Study.DelegateSeries.Test/Study.DelegateSeries.Test.csproj
+++ b/Study.DelegateSeries.Test/Study.DelegateSeries.Test.csproj
@@ -1,4 +1,4 @@
-
+
netcoreapp2.2
@@ -7,9 +7,16 @@
-
-
-
+
+
+
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
diff --git a/Study.DelegateSeries.Test/UseFixture/ClassFixtureDemo.cs b/Study.DelegateSeries.Test/UseFixture/ClassFixtureDemo.cs
new file mode 100644
index 0000000..6cd4187
--- /dev/null
+++ b/Study.DelegateSeries.Test/UseFixture/ClassFixtureDemo.cs
@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Study.DelegateSeries.Test.UseFixture
+{
+ ///
+ /// 类级别实例共享 例子类
+ ///
+ public class ClassFixtureDemo : IDisposable
+ {
+ public string ShowSelf()
+ {
+ return this.GetType().Name;
+ }
+
+ void IDisposable.Dispose()
+ {
+
+ }
+ }
+}
diff --git a/Study.DelegateSeries.Test/UseFixture/GlobalFixtureDemo.cs b/Study.DelegateSeries.Test/UseFixture/GlobalFixtureDemo.cs
new file mode 100644
index 0000000..e2f6111
--- /dev/null
+++ b/Study.DelegateSeries.Test/UseFixture/GlobalFixtureDemo.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Study.DelegateSeries.Test.UseFixture
+{
+ ///
+ /// xUnit全局共享类 例子
+ ///
+ public class GlobalFixtureDemo : IDisposable
+ {
+ public GlobalFixtureDemo()
+ {
+
+ }
+
+ public string ShowSelf()
+ {
+ return this.GetType().Name ;
+ }
+
+ void IDisposable.Dispose()
+ {
+
+ }
+ }
+}
diff --git a/Study.DelegateSeries.Test/UseFixture/GlobalFixtureSetup.cs b/Study.DelegateSeries.Test/UseFixture/GlobalFixtureSetup.cs
new file mode 100644
index 0000000..e714c57
--- /dev/null
+++ b/Study.DelegateSeries.Test/UseFixture/GlobalFixtureSetup.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+using Xunit;
+using Xunit.Abstractions;
+
+using Study.DelegateSeries.Test.UseFixture;
+
+namespace Study.DelegateSeries.Test.xUnitSetup
+{
+ ///
+ /// 设置全局共享类
+ ///
+ [CollectionDefinition("DemoCollection")]
+ public class GlobalFixtureSetup:ICollectionFixture
+ {
+ //这个类没有代码,而不需要创建。
+ //其目的是简单地设置测试集共享数据
+ //只要设置[CollectionDefinition("Demo Collection")]特性
+ //并实现IClassFixture接口
+ }
+}
diff --git a/Study.DelegateSeries.Test/UseFixture/UseClassFixtureDemo.cs b/Study.DelegateSeries.Test/UseFixture/UseClassFixtureDemo.cs
new file mode 100644
index 0000000..20170bf
--- /dev/null
+++ b/Study.DelegateSeries.Test/UseFixture/UseClassFixtureDemo.cs
@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Xunit;
+
+namespace Study.DelegateSeries.Test.UseFixture
+{
+ public class UseClassFixtureDemo : IDisposable,IClassFixture
+ {
+ public ClassFixtureDemo demo;
+
+ public UseClassFixtureDemo(ClassFixtureDemo _demo)
+ {
+ this.demo = _demo;
+ }
+
+ [Fact]
+ public void Test()
+ {
+ var shlfName = demo.ShowSelf();
+ Assert.True(true);
+ }
+
+ void IDisposable.Dispose()
+ {
+
+ }
+ }
+}
diff --git a/Study.DelegateSeries.Test/UseFixture/UseFullFixtureDemo.cs b/Study.DelegateSeries.Test/UseFixture/UseFullFixtureDemo.cs
new file mode 100644
index 0000000..f290798
--- /dev/null
+++ b/Study.DelegateSeries.Test/UseFixture/UseFullFixtureDemo.cs
@@ -0,0 +1,53 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+using Xunit;
+
+namespace Study.DelegateSeries.Test.UseFixture
+{
+ [Collection("DemoCollection")]
+ public class UseFullFixtureDemo:IDisposable,IClassFixture
+ {
+ GlobalFixtureDemo globalDemo;
+ ClassFixtureDemo classDemo;
+
+ public UseFullFixtureDemo(GlobalFixtureDemo globalFixture, ClassFixtureDemo classFixture)
+ {
+ this.globalDemo = globalFixture;
+ this.classDemo = classFixture;
+ }
+
+ [Fact]
+ public void UseXUnitTest()
+ {
+ Assert.True(true,"已使用xUnit单元测试框架");
+ }
+
+ [Fact]
+ public void GlobalFixtureTest()
+ {
+ Assert.NotNull(this.globalDemo);
+
+ string selfName = globalDemo.GetType().Name;
+ Assert.Equal(selfName, globalDemo.ShowSelf());
+ }
+
+ [Fact]
+ public void ClassFixtureTest()
+ {
+ Assert.NotNull(this.classDemo);
+
+ string selfName =classDemo.GetType().Name;
+ Assert.Equal(selfName, classDemo.ShowSelf());
+ }
+
+ ///
+ /// 清理:每测试
+ ///
+ void IDisposable.Dispose()
+ {
+
+ }
+ }
+}
diff --git a/Study.DelegateSeries.Test/UseFixture/UseGlobalFixtureDemo.cs b/Study.DelegateSeries.Test/UseFixture/UseGlobalFixtureDemo.cs
new file mode 100644
index 0000000..02c0516
--- /dev/null
+++ b/Study.DelegateSeries.Test/UseFixture/UseGlobalFixtureDemo.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+using Xunit;
+
+namespace Study.DelegateSeries.Test.UseFixture
+{
+ [Collection("DemoCollection")]
+ public class UseGlobalFixtureDemo
+ {
+ GlobalFixtureDemo fixtureDemo;
+
+ public UseGlobalFixtureDemo(GlobalFixtureDemo fixture)
+ {
+ this.fixtureDemo = fixture;
+ }
+
+ [Fact]
+ public void Test()
+ {
+ Assert.NotNull(this.fixtureDemo);
+ Assert.True(true);
+ }
+ }
+}