无法将Type 1隐式转换为Type 1

时间:2014-04-23 04:36:43

标签: c# visual-studio

这将是我在stackoverflow上提出的第一个问题所以请耐心等待。

这是我得到的错误 错误CS0029:无法将类型“Sales.Mhebe.Data.Contact”隐式转换为“联系人”。  如果我还没有和其他3个班级一起做过这件事,那就不会那么奇怪了。 ie)Sales.Mhebe.Data.Employee到Employee。 任何指导都将非常感谢。

protected void PopulateContactFields()
{
    string contactID = FKContactIDTextBox.Text;
    if (contactID == "")
    {
        MessageLabel.Text = "Please Select a Sales Person ID";
        ClearFields();
        DetailPanel.Visible = false;

    }
    else
    {
        ContactController contactControllers = new ContactController();
        try
        {
            int lookupContact = int.Parse(contactID);
            Contact contacts = contactControllers.LookupContact(lookupContact);
            if (contacts == null)
            {
                MessageLabel.Text = "Contact" + lookupContact + " not found";
                DetailPanel.Visible = false;
                ClearFields();
            }
            else
            {
                PKContactIDTextBox.Text = contacts.ContactID.ToString();
                NameStyleTextBox.Text = contacts.NameStyle;
                ContactTitleTextBox.Text = contacts.Title;
                FirstNameTextBox.Text = contacts.FirstName;
                MiddleNameTextBox.Text = contacts.MiddleName;
                LastNameTextBox.Text = contacts.LastName;
                SuffixTextBox.Text = contacts.Suffix;
                EmailAddressTextBox.Text = contacts.EmailAddress;
                EmailPromotionTextBox.Text = contacts.EmailPromotion.ToString();
                PhoneTextBox.Text = contacts.Phone;
                PasswordSaltTextBox.Text = contacts.PasswordSalt;
                PasswordHashTextBox.Text = contacts.PasswordHash;
                AdditionalInfoTextBox.Text = contacts.AdditionalContactInfo;
                ContactRowGuidTextBox.Text = contacts.RowGuid.ToString();
                ContactModifiedDateTextBox.Text = contacts.ModifiedDate.ToString();
            }
        }
        catch (Exception ex)
        {
            MessageLabel.Text = "Error Populating Contact Fields with exception " + ex.Message;
            DetailPanel.Visible = false;

        }
    }

}    

错误发生在Contact contacts = contactControllers.LookupContact(lookupContact);

如果你需要说任何其他课程,请告诉我。

2 个答案:

答案 0 :(得分:1)

您的名称空间中Contact类不是Sales.Mhebe.Data.Contact,将对象分配给Sales.Mhebe.Data.Contact将删除错误

Sales.Mhebe.Data.Contact  contacts = contactControllers.LookupContact(lookupContact);

如果您想将Sales.Mhebe.Data.Contact分配给其他Contact类,则可以使用Contact

创建Sales.Mhebe.Data.Contact类的对象
Sales.Mhebe.Data.Contact  salescontacts = contactControllers.LookupContact(lookupContact);
Sales.Mhebe.Data.Contact  contacts = new Contact{ContactPublicProperty1 = salescontacts.Property1, ContactPublicProperty2 =  salescontacts.Property2}

答案 1 :(得分:0)

很可能你有某种名字冲突。请注意关于Sales.Mhebe.Data.ContactContact的错误消息。编译器始终对完整的类名进行操作,并且在上下文中显示Contact导致被解释为名为Contact的类(没有任何名称空间)。检查是否

Sales.Mhebe.Data.Contact contacts = contactControllers.LookupContact(lookupContact);

会奏效。然后消除名称冲突,或继续使用完整的类名。

相关问题