Skip to content

Commit 33837ca

Browse files
committed
container add guard
1 parent f5af338 commit 33837ca

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

projects/CatLib.API/Support/Container/Container.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,11 @@ public IContainer Alias(string alias, string service)
203203
Guard.NotEmptyOrNull(alias, "alias");
204204
Guard.NotEmptyOrNull(service, "service");
205205

206+
if (alias == service)
207+
{
208+
throw new RuntimeException("Alias is Same as Service Name: [" + alias + "].");
209+
}
210+
206211
alias = Normalize(alias);
207212
service = Normalize(service);
208213

projects/CatLib.Tests/Support/Container/ContainerTests.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1265,6 +1265,17 @@ public void TestReleaseAllStaticService()
12651265
Assert.AreEqual(null, container.Make("Test"));
12661266
}
12671267

1268+
[TestMethod]
1269+
public void TestSameAliaseServiceName()
1270+
{
1271+
var container = MakeContainer();
1272+
1273+
ExceptionAssert.Throws<RuntimeException>(() =>
1274+
{
1275+
container.Singleton<ContainerTest>().Alias<ContainerTest>();
1276+
});
1277+
}
1278+
12681279
public class TestParamsMakeClass
12691280
{
12701281
public TestParamsMakeClass()

0 commit comments

Comments
 (0)