public void Test(T reference, T same, T differentOrGreater)
{
var comparisonInterface = typeof(T)
.GetInterfaces()
.FirstOrDefault(
i => i.IsGenericType &&
i.GetGenericTypeDefinition() == typeof(IComparisonOperators));
this.GetType()
.GetMethod(nameof(this.CheckComparisonOperators),
BindingFlags.NonPublic | BindingFlags.Instance)!
.MakeGenericMethod(typeof(T))
.Invoke(this, [reference, same, differentOrGreater]);
}
private void CheckComparisonOperators(T reference, T same, T greater)
where T : IComparisonOperators
{
// do stuff
}
public record BaseSize(uint Value) : IComparisonOperators
where T : BaseSize
{
// implementation
}
public record DerivedSize(uint Value) : BaseSize(Value);
Der Aufruf funktioniert gut mit BaseSize, schlägt jedoch für DerivedSize fehl:
private void CheckComparisonOperators(T reference, T same, T greater) where T : IComparisonOperators { // do stuff }
public record BaseSize(uint Value) : IComparisonOperators where T : BaseSize { // implementation }
public record DerivedSize(uint Value) : BaseSize(Value); [/code] Der Aufruf funktioniert gut mit BaseSize, schlägt jedoch für DerivedSize fehl: [code]Test(new DerivedSize(1), new DerivedSize(1), new DerivedSize(2)); [/code] Wie kann ich das beheben?
Ich versuche derzeit, einen Einheit /Integrationstest zu schreiben, indem ich den Anbieter von Memory -Datenbank unter Verwendung eines Memory -Datenbankanbieters zu schreiben habe. Entity Framework...
In meinem Unity-Android-Spiel kommt es zu einem schwerwiegenden Absturz, insbesondere auf bestimmten Geräten. Der Absturz tritt während der Kamera-Rendering-Einrichtung innerhalb der Universal Render...
In meinem Unity-Android-Spiel kommt es zu einem schwerwiegenden Absturz, insbesondere auf bestimmten Geräten. Der Absturz tritt während der Kamera-Rendering-Einrichtung innerhalb der Universal Render...
Ich habe eine Situation, in der es praktisch wäre, eine vorhandene Funktion aufzurufen, die ein Referenzargument akzeptiert, und zwar mit einem Aufruf über eine std::function, die einen Zeiger...