10
votes

Quels sont les équivalents C # de GetClass () de Java (), IsasSignableFrom (), etc.?

Je traduit de Java en C # et je ai un code similaire à: xxx

et ailleurs Utilisez classe.isAssiCableFrom (classe C) ... et des méthodes similaires

y a-t-il une table d'équivalents directs pour la compart de classe et les propriétés et les codes-autour où ce n'est pas possible?

(le est simplement pour arrêter les avertissements de l'EDI sur les génériques. Une meilleure solution serait appréciée)


1 commentaires

classe => type . camelcase => Pascalcase;)


3 Réponses :


13
votes
Type refClass = refChildNode.GetType();
Type testClass = testChildNode.GetType();
if (!refClass.Equals(testClass)) 
{
    ....
}
Have a look on System.Type class. It have methods you need.

1 commentaires

Vous voudrez peut-être mentionner la méthode Type.isAssiCableFrom: MSDN.MicRosoft .com / fr-nous / bibliothèque / ...



1
votes

Regardez à la réflexion ( http: // msdn.microsoft.com/de-de/library/ms173183(vs.80).aspx ).

Par exemple, votre code serait: P>

Type refClass = refChildNode.GetType();
Type testClass = testChildNode.GetType();
if (refClass != testClass) 
{
    ....
}


0 commentaires

3
votes

Tout d'abord, pour obtenir la classe (ou en parler, Type Strort>) Vous pouvez utiliser la méthode suivante:

public class A {}

public class B : A {}

public static void Main()
{
    Console.WriteLine(typeof(A) == typeof(B));                 // false
    Console.WriteLine(typeof(A).IsAssignableFrom(typeof(B)));  // true
    Console.WriteLine(typeof(B).IsSubclassOf(typeof(A)));      // true
}


1 commentaires

Lol, désolé dermike je n'ai pas réalisé à quel point cela condescendait ça!