Ich versuche derzeit, den Typ zu erhalten, der ein Objekt wie in einem späteren Teil meiner Anwendung gegossen wurde. Dies ist in erster Linie für eine verrückte Situation, die kam, die viel sauberer wäre, wenn ich dies zur Arbeit bringen könnte. Ich schrieb den folgenden Komponententest, der hoffentlich erklärt, was ich hoffe, dass ich arbeite.Getting A Type
using System;
using NUnit.Framework;
using NUnit.Framework.SyntaxHelpers;
namespace Test.Helper
{
[TestFixture]
public class CastingTests
{
public interface IStub { }
public class Stub : IStub { }
protected static Type GetCast(object sample)
{
//TODO work on getting method to return casted type
throw new NotImplementedException();
}
[Test]
public void GettingCastReturnsCastedType()
{
IStub stub = new Stub();
Type type = GetCast(stub);
Assert.That(type, Is.EqualTo(typeof(IStub)));
}
}
}
So ziemlich muss ich einen Weg finden, um den ISTub-Typ aus dem Beispielobjekt dynamisch zu bekommen. In der Anwendung könnte es sein, was auch immer das Objekt wurde gegossen, als wenn es übergeben wurde. Ich habe keine Ahnung, ob das überhaupt möglich ist, aber wäre es ziemlich cool, wenn es ist. Danke im Vorraus für deine Hilfe!
Warum möchten Sie überprüfen, ob 'Stub' 'ISTub' implementiert, wenn Sie' Stub' bereits deklarieren, um 'ISTub' zu implementieren? – dtb
Wie nennt man hier "Gusstyp"? Bitte sei expliziter ... –
Es klingt, als ob du ein Yak rasierst ... (http://theagileadvisors.com/the-agile-team/so-there-i-am-shaving-a-yak/) – grenade