Cela peut vous sembler fou, mais j'ai besoin d'un Nullable<T>
(où T est une struct) pour retourner un type différent pour sa propriété Value.Est-il possible de surcharger Value sur une structure nullable, pour renvoyer un type différent?
Règles étant si la propriété de Nullable<T>
HasValue est true, la valeur retournera toujours un objet d'un type spécifié différent (puis lui-même).
Je suis peut-être trop penser à cela, mais ce test de l'unité ci-dessous montre ce que je veux faire.
public struct Bob
{
...
}
[TestClass]
public class BobTest
{
[TestMethod]
public void Test_Nullable_Bob_Returns_Joe()
{
Joe joe = null;
Bob? bob;
var bobHasValue = bob.HasValue; // returns if Bob is null
if(bobHasValue)
joe = bob.Value; //Bob returns a Joe
}
}
Il montre clairement ce que vous voulez faire, mais ... pourquoi? Et comment ton Bob sait-il ce que Joe doit retourner? –
Je voudrais écrire la logique dans la propriété surchargée, ou quoi d'autre. – Andrew