Ich kann es nicht zum Laufen bringen. Ich möchte das im Parameter des Testmethode festgelegte Attributs finden. Aber es findet nichts, nicht mit Parameterinfo.Customattributes. RUNTESTMETHOD Ich erhalte nur Methodenname und Parametername richtig, aber nichts anderes wird gedruckt. < /P>
public class Test {
public static void RunTestMethod()
{
var testMethodInfo = typeof(TestClass).GetMethod("TestMethod");
if (testMethodInfo != null)
{
Console.WriteLine($"Method Name: {testMethodInfo.Name}");
foreach (var parameterInfo in testMethodInfo.GetParameters())
{
Console.WriteLine($"Parameter Name: {parameterInfo.Name}");
foreach (var attr in parameterInfo.GetCustomAttributes(false))
{
Console.WriteLine($"Found attribute: {attr.GetType()} in parameter name: {parameterInfo.Name}");
}
foreach (var attrData in parameterInfo.GetCustomAttributesData())
{
Console.WriteLine($"Found attribute data: {attrData.AttributeType}");
}
}
}
}
}
// Class that uses the attribute on one method
public class TestClass {
public void TestMethod([TestAttr] int testParam)
{
}
}
// Custom Attribute
[UnityEngine.Scripting.Preserve]
public class TestAttrAttribute : Attribute
{
}
< /code>
[bearbeiten] Die Frage wurde geschlossen, da sie in einer .NET -Geige reproduziert werden kann.
Nun. Ich habe versucht, die Zeile zu ändern, in der das Attribut das System verwendet.parameterInfo.GetCustomAttribute()
und es funktioniert in der Geige. Ich habe es in meinem Einheitsprojekt geändert, das nur eine Datei (2022.3.60f1) hat und das Skript über [Menuitem ("Test/Run -Reflexionstest") über dem RunTestMethod () ausführt und funktioniert nicht. Was passiert mit Reflexion und Einheit, dass es nicht richtig funktioniert ?
Ich kann es nicht zum Laufen bringen. [url=viewtopic.php?t=14917]Ich möchte[/url] das im Parameter des Testmethode festgelegte Attributs finden. Aber es findet nichts, nicht mit Parameterinfo.Customattributes. RUNTESTMETHOD Ich erhalte nur Methodenname und Parametername richtig, aber nichts anderes wird gedruckt. < /P> [code]public class Test {
public static void RunTestMethod() { var testMethodInfo = typeof(TestClass).GetMethod("TestMethod"); if (testMethodInfo != null) { Console.WriteLine($"Method Name: {testMethodInfo.Name}");
foreach (var parameterInfo in testMethodInfo.GetParameters()) { Console.WriteLine($"Parameter Name: {parameterInfo.Name}");
foreach (var attr in parameterInfo.GetCustomAttributes(false)) { Console.WriteLine($"Found attribute: {attr.GetType()} in parameter name: {parameterInfo.Name}"); }
// Class that uses the attribute on one method public class TestClass {
public void TestMethod([TestAttr] int testParam) {
}
}
// Custom Attribute [UnityEngine.Scripting.Preserve] public class TestAttrAttribute : Attribute {
} < /code> [bearbeiten] Die Frage wurde geschlossen, da sie in einer .NET -Geige reproduziert werden kann. Nun. Ich habe versucht, die Zeile zu ändern, in der das Attribut das System verwendet.parameterInfo.GetCustomAttribute()[/code] und es funktioniert in der Geige. Ich habe es in meinem Einheitsprojekt geändert, das nur eine Datei (2022.3.60f1) hat und das Skript über [Menuitem ("Test/Run -Reflexionstest") über dem RunTestMethod () ausführt und [b] funktioniert nicht. Was passiert mit Reflexion und Einheit, dass es nicht richtig funktioniert [/b]?
Hallo nochmal, meine Freunde. Aus der entgegengesetzten Richtung scheinen die Kontrollen umgekehrt zu sein. Auch wenn ich mich mit der Maus umsehe. Das Spiel wird als Ego-Shooter (FPS) angesehen....
Ich verwende Android12 -Geräte und unter dem Code versuchen, Reflection zu verwenden, um auf Hiden -API zuzugreifen:
public static void setDisplaySurface(IBinder displayToken, Surface surface) {...
Ich entwickle Java -Spiel mit libgdx Framework (unter Verwendung der neuesten Version 1.13.1). Meine App unterstützt Desktop/Android/HTML5. Mit Desktop und Android funktioniert es gut. Bei HTML (GWT)...
Ich habe kürzlich eine Mauer getroffen und kann anscheinend keine elegante Lösung für mein Problem finden:
Ich habe unterschiedliche Datenstrukturen unterschiedlicher Anzahl von Elementen, die alle...