diff --git a/CatLib.sln b/CatLib.sln
index 9aa96e55..29547dd8 100644
--- a/CatLib.sln
+++ b/CatLib.sln
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
-VisualStudioVersion = 15.0.26430.16
+VisualStudioVersion = 15.0.26430.13
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CatLib", "projects\CatLib\CatLib.csproj", "{BBB2DAE2-638B-4419-9591-3CECCA312E4E}"
EndProject
diff --git a/build/CatLib.API.dll b/build/CatLib.API.dll
index 11e3bc4c..ca7919c8 100644
Binary files a/build/CatLib.API.dll and b/build/CatLib.API.dll differ
diff --git a/build/CatLib.API.pdb b/build/CatLib.API.pdb
index 2412e364..debaced6 100644
Binary files a/build/CatLib.API.pdb and b/build/CatLib.API.pdb differ
diff --git a/build/CatLib.API.xml b/build/CatLib.API.xml
index 79ef8923..57816101 100644
--- a/build/CatLib.API.xml
+++ b/build/CatLib.API.xml
@@ -376,13 +376,6 @@
在几次后事件会被自动释放
事件句柄
-
-
- 反注册一个事件
-
- 事件名
- 事件句柄
-
事件句柄
@@ -2148,13 +2141,6 @@
在几次后事件会被自动释放
事件句柄
-
-
- 反注册一个事件
-
- 事件名
- 事件句柄
-
获取服务的绑定数据,如果绑定不存在则返回null
@@ -2321,7 +2307,7 @@
以单例的形式绑定一个服务
服务名
- 服务实现
+ 服务别名
服务绑定数据
@@ -2344,7 +2330,7 @@
常规绑定一个服务
服务名
- 服务实现
+ 服务别名
服务绑定数据
@@ -2995,7 +2981,7 @@
以单例的形式绑定一个服务
服务名
- 服务实现
+ 服务别名
服务容器
服务绑定数据
@@ -3021,7 +3007,7 @@
常规绑定一个服务
服务名
- 服务实现
+ 服务别名
服务容器
服务绑定数据
diff --git a/build/CatLib.dll b/build/CatLib.dll
index be610311..cc447115 100644
Binary files a/build/CatLib.dll and b/build/CatLib.dll differ
diff --git a/build/CatLib.pdb b/build/CatLib.pdb
index 3aecab61..31f951ac 100644
Binary files a/build/CatLib.pdb and b/build/CatLib.pdb differ
diff --git a/build/CatLib.xml b/build/CatLib.xml
index b4a5e625..9e12c750 100644
--- a/build/CatLib.xml
+++ b/build/CatLib.xml
@@ -7447,6 +7447,31 @@
当注册服务提供者
+
+
+ 压缩器
+
+
+
+
+ 转换器
+
+
+
+
+ 全局事件调度器
+
+
+
+
+ 加密器
+
+
+
+
+ 随机数
+
+
国际化I18N
@@ -7467,6 +7492,11 @@
文件系统管理器
+
+
+ 随机数
+
+
路由
@@ -7669,11 +7699,6 @@
通配符事件句柄
-
-
- Action对应Func映射
-
-
同步锁
@@ -7732,20 +7757,6 @@
在几次后事件会被自动释放
事件句柄
-
-
- 反注册一个事件
-
- 事件名
- 事件句柄
-
-
-
- 遍历行为映射
-
- 事件句柄
- 回调
-
移除一个事件
@@ -10689,13 +10700,6 @@
在几次后事件会被自动释放
事件句柄
-
-
- 反注册一个事件
-
- 事件名
- 事件句柄
-
CatLib版本(遵循semver)
diff --git a/projects/CatLib.API/CatLib/App.cs b/projects/CatLib.API/CatLib/App.cs
index 9b4f3bc3..93f80328 100644
--- a/projects/CatLib.API/CatLib/App.cs
+++ b/projects/CatLib.API/CatLib/App.cs
@@ -418,11 +418,11 @@ public static IBindData Singleton(string service, Func
/// 服务名
- /// 服务实现
+ /// 服务别名
/// 服务绑定数据
- public static IBindData Singleton() where TConcrete : class
+ public static IBindData Singleton()
{
- return Handler.Singleton();
+ return Handler.Singleton();
}
///
@@ -450,11 +450,11 @@ public static IBindData Singleton(Func c
/// 常规绑定一个服务
///
/// 服务名
- /// 服务实现
+ /// 服务别名
/// 服务绑定数据
- public static IBindData Bind() where TConcrete : class
+ public static IBindData Bind()
{
- return Handler.Bind();
+ return Handler.Bind();
}
///
diff --git a/projects/CatLib.API/Support/Container/ContainerExtend.cs b/projects/CatLib.API/Support/Container/ContainerExtend.cs
index 611027f3..90cce620 100644
--- a/projects/CatLib.API/Support/Container/ContainerExtend.cs
+++ b/projects/CatLib.API/Support/Container/ContainerExtend.cs
@@ -35,12 +35,13 @@ public static IBindData Singleton(this IContainer container, string service,
/// 以单例的形式绑定一个服务
///
/// 服务名
- /// 服务实现
+ /// 服务别名
/// 服务容器
/// 服务绑定数据
- public static IBindData Singleton(this IContainer container) where TConcrete : class
+ public static IBindData Singleton(this IContainer container)
{
- return container.Bind(container.Type2Service(typeof(TService)), typeof(TConcrete), true);
+ return container.Bind(container.Type2Service(typeof(TService)), typeof(TService), true)
+ .Alias(container.Type2Service(typeof(TAlias)));
}
///
@@ -71,12 +72,13 @@ public static IBindData Singleton(this IContainer container,
/// 常规绑定一个服务
///
/// 服务名
- /// 服务实现
+ /// 服务别名
/// 服务容器
/// 服务绑定数据
- public static IBindData Bind(this IContainer container) where TConcrete : class
+ public static IBindData Bind(this IContainer container)
{
- return container.Bind(container.Type2Service(typeof(TService)), typeof(TConcrete), false);
+ return container.Bind(container.Type2Service(typeof(TService)), typeof(TService), false)
+ .Alias(container.Type2Service(typeof(TAlias)));
}
///
diff --git a/projects/CatLib.Tests/Support/Container/ContainerHelperTests.cs b/projects/CatLib.Tests/Support/Container/ContainerHelperTests.cs
index be28ece2..977ada76 100644
--- a/projects/CatLib.Tests/Support/Container/ContainerHelperTests.cs
+++ b/projects/CatLib.Tests/Support/Container/ContainerHelperTests.cs
@@ -77,7 +77,7 @@ public void BindSingletonTServiceTConcrete()
{
var container = MakeContainer();
container.Singleton();
- var obj = container.Make(container.Type2Service(typeof(TestClassService)));
+ var obj = container.Make(container.Type2Service(typeof(ContainerHelperTestClass)));
var obj2 = container.Make(container.Type2Service(typeof(TestClassService)));
Assert.AreSame(obj, obj2);
diff --git a/projects/CatLib.Tests/Support/Container/ContainerTests.cs b/projects/CatLib.Tests/Support/Container/ContainerTests.cs
index c9ca0bed..345d83fc 100644
--- a/projects/CatLib.Tests/Support/Container/ContainerTests.cs
+++ b/projects/CatLib.Tests/Support/Container/ContainerTests.cs
@@ -894,7 +894,7 @@ public void CanParamUseInjectAttrRequired()
container.Make();
});
- container.Bind();
+ container.Bind();
var result = container.Make();
Assert.AreEqual("hello", result.GetMsg());
}
diff --git a/projects/CatLib/Encryption/Encrypter.cs b/projects/CatLib/Encryption/Encrypter.cs
index 796ced7e..e5c8ab91 100644
--- a/projects/CatLib/Encryption/Encrypter.cs
+++ b/projects/CatLib/Encryption/Encrypter.cs
@@ -36,6 +36,7 @@ public sealed class Encrypter : IEncrypter
/// 加密类型
public Encrypter(byte[] key, string cipher)
{
+ Guard.Requires(key != null);
this.key = key;
if (!Supported(key, cipher))
{