回答編集履歴
3
追記
test
CHANGED
@@ -1,3 +1,24 @@
|
|
1
|
+
あまり良い方法ではないようですが、今回はZuishinさんのコメントを参考にリフレクションで対応しました。
|
2
|
+
以下が修正した部分です。
|
3
|
+
```C#
|
4
|
+
using System.Reflection;
|
5
|
+
|
6
|
+
---
|
7
|
+
|
8
|
+
public static void Method<T>()
|
9
|
+
{
|
10
|
+
if (typeof(BaseClass).IsAssignableFrom(typeof(T)))
|
11
|
+
{
|
12
|
+
var mInfo = typeof(MethodClass).GetMethod("GenericMethod", BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance);
|
13
|
+
var gmInfo = mInfo.MakeGenericMethod(typeof(T));
|
14
|
+
gmInfo.Invoke(null, new object[0] { });
|
15
|
+
}
|
16
|
+
}
|
17
|
+
```
|
18
|
+
|
19
|
+
以下過去コメント
|
20
|
+
|
21
|
+
---
|
1
22
|
一度自己解決としましたが、解決策に問題があったため再度回答受付中に変更しました。
|
2
23
|
解決策とした方法では、GenericMethod内でTの型を利用できないため問題が生じました。
|
3
24
|
以下は自己解決とした際の過去のコメントです。
|
2
追記
test
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
一度自己解決としましたが、解決策に問題があったため再度回答受付中に変更しました。
|
2
|
+
解決策とした方法では、GenericMethod内でTの型を利用できないため問題が生じました。
|
2
3
|
以下は自己解決とした際の過去のコメントです。
|
3
4
|
|
5
|
+
---------------------------------------
|
4
6
|
GenericMehoodに引数がないため、あえてジェネリック型にする意味がないことに気づきました。
|
5
7
|
GenericMethod()としたうえで、IsSubclassOfによる判定によって呼ぶようにします。
|
1
追記
test
CHANGED
@@ -1,2 +1,5 @@
|
|
1
|
+
一度自己解決としましたが、解決策に問題があったため再度回答受付中に変更しました。
|
2
|
+
以下は自己解決とした際の過去のコメントです。
|
3
|
+
|
1
4
|
GenericMehoodに引数がないため、あえてジェネリック型にする意味がないことに気づきました。
|
2
5
|
GenericMethod()としたうえで、IsSubclassOfによる判定によって呼ぶようにします。
|