Using extension methods as binding expressions

I recently ran into an issue with an ListView where I wanted to “bind” to an extension method on the entity I was working with.

So, my object looked something like this:

namespace ExtensionMethodBinding
 public class MyCustomObject
   public string Property1 { get; set; }
   public string Property2 { get; set; }
   public string Property3 { get; set; }


namespace ExtensionMethodBinding.Extensions
 public static class MyCustomPropertyExtensions
   public static string SomeExtensionMethod(this MyCustomObject instance)
     return String.Format("{0} - {1} - {2}",


I deliberately put the extension method in a different namespace (since that is usually the case).
And the list view item template looks something like this:

   <%# Eval("Property1") %>
   <%# Eval("Property2") %>
   <%# Eval("Property3") %>
   <%# ((MyCustomObject)Container.DataItem).SomeExtensionMethod() %>' />

And when running it, this little error message turns up:

CS0246: The type or namespace name ‘MyCustomObject’ could not be found (are you missing a using directive or an assembly reference?)”

I finally figured it out, you have to add a couple of things at the top of the page for it to understand the extension method syntax, like this:


, , ,

  1. #1 by Best cellulite cream on June 2, 2010 - 23:58

    Suitably done.
    You have a nice blog.
    Thank you for posting.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: