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
+{
+    
+    /// <summary>
+    /// 显示类型名 委托
+    /// </summary>
+    /// <returns>类型名</returns>
+    public delegate string ShowTypeNameDelegate();
+
+    /// <summary>
+    /// 显示人名 委托
+    /// </summary>
+    /// <returns>人名</returns>
+    public delegate string ShowPersonName();
+
+    /// <summary>
+    /// 计算器:计算委托
+    /// </summary>
+    /// <param name="numberA">参数A</param>
+    /// <param name="numberB">参数B</param>
+    /// <returns>计算结果</returns>
+    public delegate decimal CalculatorDelegate(decimal numberA,decimal numberB);
+
+    /// <summary>
+    /// 返回整形无参 委托
+    /// </summary>
+    /// <returns>整形数字</returns>
+    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 @@
-<Project Sdk="Microsoft.NET.Sdk">
+<Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
     <TargetFramework>netcoreapp2.2</TargetFramework>
@@ -7,9 +7,16 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.0.1" />
-    <PackageReference Include="xunit" Version="2.4.0" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />
+    <Compile Remove="UseXUnitDemo.cs" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.1.1" />
+    <PackageReference Include="xunit" Version="2.4.1" />
+    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.1">
+      <PrivateAssets>all</PrivateAssets>
+      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
+    </PackageReference>
   </ItemGroup>
 
   <ItemGroup>
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
+{
+    /// <summary>
+    /// 类级别实例共享 例子类
+    /// </summary>
+    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
+{
+    /// <summary>
+    /// xUnit全局共享类 例子
+    /// </summary>
+    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
+{
+    /// <summary>
+    /// 设置全局共享类
+    /// </summary>
+    [CollectionDefinition("DemoCollection")]
+    public class GlobalFixtureSetup:ICollectionFixture<GlobalFixtureDemo>
+    {
+        //这个类没有代码,而不需要创建。
+        //其目的是简单地设置测试集共享数据
+        //只要设置[CollectionDefinition("Demo Collection")]特性
+        //并实现IClassFixture<T>接口
+    }
+}
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<ClassFixtureDemo>
+    {
+        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<ClassFixtureDemo>
+    {
+        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());
+        }
+
+        /// <summary>
+        /// 清理:每测试
+        /// </summary>
+        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);
+        }
+    }
+}