ich kopieren und einfügen Quelle WebMatrix.WebData.IDatabase
aber VStudio Zeichen Dynamische Worte und sagteVerwenden Sie nicht 'System.Runtime.CompilerServices.DynamicAttribute'. Verwenden Sie die ‚dynamische‘ Schlüsselwort statt
Sie nicht ‚System.Runtime.CompilerServices.DynamicAttribute‘ verwenden. Verwenden Sie stattdessen das Schlüsselwort 'dynamic' .
Warum bekomme ich diesen Fehler, wenn original .net Framework es verwendet?
Der Quellcode ist hier:
namespace WebMatrix.WebData
{
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
internal interface IDatabase : IDisposable
{
int Execute(string commandText, params object[] args);
[return: Dynamic(new bool[] { false, true })]
IEnumerable<object> Query(string commandText, params object[] parameters);
[return: Dynamic]
object QuerySingle(string commandText, params object[] args);
[return: Dynamic]
object QueryValue(string commandText, params object[] parameters);
}
}
und ich gleiche Fehler hier:
namespace WebMatrix.WebData
{
internal class DatabaseWrapper : IDatabase, IDisposable
{
private readonly Database _database;
public DatabaseWrapper(Database database)
{
this._database = database;
}
public void Dispose()
{
this._database.Dispose();
}
public int Execute(string commandText, params object[] parameters)
{
return this._database.Execute(commandText, parameters);
}
[return: Dynamic(new bool[] { false, true })]
public IEnumerable<object> Query(string commandText, params object[] parameters)
{
return this._database.Query(commandText, parameters);
}
[return: Dynamic]
public object QuerySingle(string commandText, params object[] parameters)
{
return this._database.QuerySingle(commandText, parameters);
}
[return: Dynamic]
public object QueryValue(string commandText, params object[] parameters)
{
return this._database.QueryValue(commandText, parameters);
}
}
}
wo kopieren Sie diese Quelle * aus *, genau? Es sieht für mich aus, als ob Sie eine alte Quelle verwenden –
@Marc Gravell Ich benutzte .net Reflektor, um es zu dekompilieren ... –
ah, rechts; dann ist das ** nicht der Quellcode **. Reflektoren werden oft "falsch" angezeigt, weil sie ** nicht den Quellcode anzeigen **. Oder alternativ, Reflektor bringt Dinge "richtig", indem er Ihnen zeigt, was wirklich da ist. Aber: Das kann anders sein als das, was Sie als Code schreiben würden. –