title: Cannot implicitly convert type are you missing a cast? Arrays, Enumerators and Web services
body: <p>I am trying to send a soap message to an external system, this system already has predefined data types which I must integrate in my code, using arrays and enumerators.</p>
  
  <p>My problem is the enumerator variables are giving me the following error:</p>
  
  <blockquote>
    <blockquote>
      <blockquote>
        <p>Error 1 Cannot implicitly convert type 'UpdateRatePacks._Default.Rate.AvailAppType' to 'UpdateRatePacks.IService.AvailAppType?'. An explicit conversion exists (are you missing a cast?)</p>
      </blockquote>
    </blockquote>
  </blockquote>
  
  <p>The error says it cannot convert the type on my page to the type on my webservice, but the data structures are the same, Have I missed something?</p>
  
  <p>I have searched this error out everywhere,also searched out on enumerators in web service, enumerators in arrays, converting enumerators to arrays but nothing has worked. The error is still the same.</p>
  
  <p>Even included this line of code for the parse conversion:</p>
  
  <pre><code>ureq.RatePackages[2].Rates[1].AvailabilityApplicationType = Rate.AvailAppType)Enum.Parse(typeof(Rate.AvailAppType), val);
  </code></pre>
  
  <p>The complexity of this code is it contains enumerators in arrays so I don't know whether I am going wrong in the enumerator or in the array itself or in the entire web service.</p>
  
  <p>This is part of my code that sends the update as a message where the error comes from</p>
  
  <pre><code> protected void SendSoapMessage()
   {
  
    Rate.AvailabilityApplicationType val  =  Rate.AvailAppType.SET;
    ureq.RatePackages[1].Rates[0].AvailAppType = val;
  </code></pre>
  
  <p>ureq is UpdateRatePacks method from the webservice I am sending to</p>
  
  <p>Classes/ Objects defined below:</p>
  
  <pre><code>public class UpdateRatePacks
  {
   public string Username;
   public string Password;
   public UpdateRatePack[] RatePackages;
  }
  
      public class UpdateRatePack
      {
          public Int64 RatePackageId;
          public Rate[] Rates;
  
      }
  
  
      public class Rate
      {
  
  
          public enum AvailAppType { SET , INCREASE, DECREASE };
  
  
      }
  </code></pre>
  
  <p>Any advise would be greatly appreciated.</p>