Skip to content

Commit 65a2340

Browse files
committed
More overrides
1 parent 33a399d commit 65a2340

File tree

2 files changed

+38
-16
lines changed

2 files changed

+38
-16
lines changed

src/Extensions/Injection/Override.cs

Lines changed: 33 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -27,32 +27,41 @@ public static partial class Override
2727
#if !NET40
2828
[MethodImpl(MethodImplOptions.AggressiveInlining)]
2929
#endif
30-
public static ResolverOverride Parameter<TType>(object value)
31-
=> new ParameterOverride(typeof(TType), value);
30+
public static ResolverOverride Parameter(object value)
31+
=> new ParameterOverride(value?.GetType() ?? throw new ArgumentNullException(nameof(value)), value);
32+
3233

3334
#if !NET40
3435
[MethodImpl(MethodImplOptions.AggressiveInlining)]
3536
#endif
36-
public static ResolverOverride Parameter<TType>(string name, object value)
37-
=> Parameter(typeof(TType), name, value);
37+
public static ResolverOverride Parameter(string name, object value)
38+
=> new ParameterOverride(name, value);
3839

3940
#if !NET40
4041
[MethodImpl(MethodImplOptions.AggressiveInlining)]
4142
#endif
42-
public static ResolverOverride Parameter(Type type, object value)
43+
public static ResolverOverride Parameter(Type type, object value)
4344
=> new ParameterOverride(type, value);
4445

46+
4547
#if !NET40
4648
[MethodImpl(MethodImplOptions.AggressiveInlining)]
4749
#endif
48-
public static ResolverOverride Parameter(Type type, string name, object value)
50+
public static ResolverOverride Parameter(Type type, string name, object value)
4951
=> new ParameterOverride(type, name, value);
5052

53+
5154
#if !NET40
5255
[MethodImpl(MethodImplOptions.AggressiveInlining)]
5356
#endif
54-
public static ResolverOverride Parameter(string name, object value)
55-
=> new ParameterOverride(name, value);
57+
public static ResolverOverride Parameter<TType>(object value)
58+
=> new ParameterOverride(typeof(TType), value);
59+
60+
#if !NET40
61+
[MethodImpl(MethodImplOptions.AggressiveInlining)]
62+
#endif
63+
public static ResolverOverride Parameter<TType>(string name, object value)
64+
=> Parameter(typeof(TType), name, value);
5665

5766
#endregion
5867

@@ -62,21 +71,16 @@ public static ResolverOverride Parameter(string name, object value)
6271
#if !NET40
6372
[MethodImpl(MethodImplOptions.AggressiveInlining)]
6473
#endif
65-
public static ResolverOverride Dependency<TType>(object value)
66-
=> new DependencyOverride(typeof(TType), value);
67-
68-
#if !NET40
69-
[MethodImpl(MethodImplOptions.AggressiveInlining)]
70-
#endif
71-
public static ResolverOverride Dependency<TType>(string name, object value)
72-
=> new DependencyOverride(typeof(TType), name, value);
74+
public static ResolverOverride Dependency(object value)
75+
=> Dependency(value?.GetType() ?? throw new ArgumentNullException(nameof(value)), null, value);
7376

7477
#if !NET40
7578
[MethodImpl(MethodImplOptions.AggressiveInlining)]
7679
#endif
7780
public static ResolverOverride Dependency(string name, object value)
7881
=> Dependency(value?.GetType() ?? throw new ArgumentNullException(nameof(value)), name, value);
7982

83+
8084
#if !NET40
8185
[MethodImpl(MethodImplOptions.AggressiveInlining)]
8286
#endif
@@ -93,6 +97,19 @@ public static ResolverOverride Dependency(Type type, string name, object value)
9397
return new DependencyOverride(type, name, value);
9498
}
9599

100+
101+
#if !NET40
102+
[MethodImpl(MethodImplOptions.AggressiveInlining)]
103+
#endif
104+
public static ResolverOverride Dependency<TType>(object value)
105+
=> new DependencyOverride(typeof(TType), value);
106+
107+
#if !NET40
108+
[MethodImpl(MethodImplOptions.AggressiveInlining)]
109+
#endif
110+
public static ResolverOverride Dependency<TType>(string name, object value)
111+
=> new DependencyOverride(typeof(TType), name, value);
112+
96113
#endregion
97114
}
98115
}

src/Extensions/Injection/Resolve.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ public static partial class Resolve
88
{
99
#region Dependency
1010

11+
#if !NET40
12+
[MethodImpl(MethodImplOptions.AggressiveInlining)]
13+
#endif
14+
public static ParameterBase Dependency<TTarget>() => new ResolvedParameter(typeof(TTarget), null);
15+
1116
#if !NET40
1217
[MethodImpl(MethodImplOptions.AggressiveInlining)]
1318
#endif

0 commit comments

Comments
 (0)