KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Extension Methods for Indexers, would they be good ? I was playing around with some code that re-hydrates POCO's. The code iterates around rows returned from a SqlDataReader and and uses reflection to assign properties from column values. Down my call stack I had a code a line like this :- poco.Set("Surname", "Smith"); // uses extension method ... The Set method was written as an extension method. It would be great to have been able to write code like this poco["Surname"] = "Smith"; // extension methods for indexers ? ie I wanted to write an extension method for indexer Are there good reason why .Net does not have extension methods for indexers? Do other people have other good uses for extension method indexers ? as an aside ... If we could write extension methods for indexers then we could write code like this … var poco = PocoFactory(); poco.Surname = “Smith”; // is this JavaScript ... poco[Surname] = “Smith” ; // … or is this c# or both Some snippets from my code ///////////////////////////////////////////// // Client calling code IDab dab = DabFactory.Create( "Northwind" ); string sql = @"select * from Customers "; var persons = dab.ExecuteReader<NorthwindCustomer>(sql); if (dab != null{ Assert.That(persons[0].CustomerID , Is.EqualTo("ALFKI"));} ///////////////////////////////////////////// List<T> IDab.ExecuteReader<T>(string commandText) { List<T> pocos = new List<T>(); // setup connection SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection); while (reader.Read()) { Dictionary<string, int> colMappings = null ; if (colMappings == null){ colMappings = reader.GetSqlDataReaderColumnMappings();} T poco = new T(); poco.DbToMem<T>(reader, colM
Tags (comma-separated)
Save Edits
Cancel