Ich habe die folgende KlassenhierarchieErweiterung Methode für stark typisierte Eigenschaft Zugang
class Test
{
public string Name { get; set; }
}
class TestChild : Test
{
public string Surname { get; set; }
}
ich kann nicht die Test-Klasse ändern. Ich möchte wie das folgende Erweiterungsmethode schreiben:
static class TestExtensions
{
public static string Property<TModel, TProperty>(this Test test, Expression<Func<TModel, TProperty>> property)
{
return property.ToString();
}
}
Um es auf folgende Weise zu verwenden:
class Program
{
static void Main(string[] args)
{
TestChild t = new TestChild();
string s = t.Property(x => x.Name);
}
}
Aber jetzt sagt Compiler
Die Art Argumente für die Methode 'ConsoleApplication1.TestExtensions.Property (ConsoleApplication1.Test, System.Linq.Expressions.Expression>)' kann nicht aus der Verwendung abgeleitet werden. Versuchen Sie, die Typargumente explizit anzugeben.
Ich möchte etwas wie mvc Html.TextBoxFor (x => x.Name) -Methode haben. Ist es möglich, die zu verwendende Erweiterung zu schreiben, wie in der Methode Main
gezeigt?
Ich verpasste dies beim ersten Mal :( – poindexter12
Auch ich glaube nicht, dass property.ToString() das Richtige ist mach es dort. – poindexter12