title: Getting field names of a listItem - (Strongly typed?) in SharePoint 2010 Client API
body: <p>I'm very new to SharePoint, using 2010.  Trying to see what we can do with it, in particular with Lists.  And I have a feeling I'm missing something pretty obvious, but can't find it.....</p>
  
  <p>In a Sharepoint site I created a list called Famous People:  Added a few people in, Frank Sinatra etc.</p>
  
  <ul>
  <li>Last Name: Sinatra</li>
  <li>First Name: Frank</li>
  <li>E-mail Address: frank.sinatra@ratpack.com</li>
  <li>Job Title: Singer</li>
  <li>etc</li>
  </ul>
  
  <p>So then I've been trying to get that information into a simple C# console application, referring and trying many examples I have found. 
  But I get stuck around working out what the actual fieldNames(?) are that I need to refer to, as it doesn't appear to be strongly typed.  But also using the likes of "E-mail Address" doesn't seem to work either</p>
  
  <p>Here's one example I've been trying.  (From: <a href="http://msdn.microsoft.com/en-us/library/ee534956.aspx" rel="nofollow">How to: Retrieve List Items</a>)</p>
  
  <pre><code>            string siteUrl = "http://servername/site/";
          var clientCtx = new ClientContext(siteUrl);
          Microsoft.SharePoint.Client.List oList = clientCtx.Web.Lists.GetByTitle("Famous People");
  
          var camlQuery = new CamlQuery {ViewXml = "&lt;View&gt;&lt;RowLimit&gt;100&lt;/RowLimit&gt;&lt;/View&gt;"};
  
          ListItemCollection collListItem = oList.GetItems(camlQuery);
  
          clientCtx.Load(collListItem,
               items =&gt; items.Include(
                  item =&gt; item.Id,
                  item =&gt; item.DisplayName,
                  item =&gt; item.HasUniqueRoleAssignments));
  
          clientCtx.ExecuteQuery();
  
          foreach (ListItem oListItem in collListItem)
          {
              Console.WriteLine("ID: {0} \nDisplay name: {1} \nUnique role assignments: {2}",
                  oListItem.Id, oListItem.DisplayName, oListItem.HasUniqueRoleAssignments);
          }
  
          Console.ReadLine();
          clientCtx.Dispose();
  </code></pre>
  
  <p>Which brings back:</p>
  
  <pre><code>ID: 1
  Display name: Clough
  Unique role assignments: False
  ID: 2
  Display name: Sinatra
  Unique role assignments: False
  ID: 3
  Display name: Simpson
  Unique role assignments: False
  ID: 4
  Display name: Skywalker
  Unique role assignments: False
  </code></pre>
  
  <p>I have tried each of the methods on the examples link I provided above.  But from there I have no idea how to get to the other properties such as "Job", or "E-mail address".<br>
  Or for example if I'm dealing with a List which I don't know, how do I find out the valid field names from my application via web service?</p>
  
  <p>Thanks.</p>