c# - Do not use 'System.Runtime.CompilerServices.DynamicAttribute'. Use the 'dynamic' keyword instead -


i copy , paste source of webmatrix.webdata.idatabase vstudio mark dynamic words , said

do not use 'system.runtime.compilerservices.dynamicattribute'. use 'dynamic' keyword instead.

why error when original .net framework used it?

the source code here:

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);     } } 

and same error here:

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);         }     } } 

that maps to:

ienumerable<dynamic> query(string commandtext, params object[] parameters); dynamic querysingle(string commandtext, params object[] args); dynamic queryvalue(string commandtext, params object[] parameters); 

the reason can think of use alternative syntax compiling on down-level compiler doesn't know dynamic keyword. however, [dynamicattribute] has existed since .net 4.0, includes compiler dynamic support. thoughts:

  • is perhaps using asp.net compiler, might not configured use vlatest
  • does perhaps relate development against ctp builds, when dynamic incomplete

if @ current source, uses dynamic, supporting hypothesis [dynamic] usage purely transitional.


Comments

Popular posts from this blog

php - mySql Join with 4 tables -

css - Text drops down with smaller window -

c# - DetailsView in ASP.Net - How to add another column on the side/add a control in each row? -