Comment écrire une méthode d'extension pour un type générique avec des contraintes sur les paramètres de type?

Je suis en train de travailler à une tâche spécifique .NET plattform, qui est précompilé et pas OpenSource.
Pour certaines tâches que je dois étendre cette classe, mais pas en héritant de. Je veux simplement ajouter une méthode.

Au premier abord, je veux vous montrer un dummycode classe existante:

public class Matrix<T> where T : new() {
    ...
    public T values[,];
    ...
}

Je veux prolonger cette classe de la manière suivante:

public static class MatrixExtension {
    public static T getCalcResult<T>(this Matrix<T> mat) {
        T result = 0;
        ...
        return result;
    }
}

J'ai cette syntaxe de nombreux liens google donc aucune idée de savoir si elle est correcte. Le compilateur m'indique pas d'erreur, mais à la fin il ne fonctionne pas. En fin de compte, je tiens à appeler cette fonction de la manière suivante:

Matrix<int> m = new Matrix<int>();
...
int aNumber = m.getCalcResult();

Si quelqu'un a une idée? Merci pour votre aide!

Ce Qui Concerne Les Nem

source d'informationauteur Christoph Meißner