Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法将类型1隐式转换为类型1_C#_Visual Studio - Fatal编程技术网

C# 无法将类型1隐式转换为类型1

C# 无法将类型1隐式转换为类型1,c#,visual-studio,C#,Visual Studio,这将是我关于stackoverflow的第一个问题,所以请耐心听我说 这是我得到的错误 错误CS0029:无法将类型“Sales.Mhebe.Data.Contact”隐式转换为“Contact”。 现在,如果我还没有和另外3个班一起做过,这就不会这么奇怪了。 ie)Sales.Mhebe.Data.Employee-to-Employee。 任何指导都将不胜感激 protected void PopulateContactFields() { string contactID = FK

这将是我关于stackoverflow的第一个问题,所以请耐心听我说

这是我得到的错误 错误CS0029:无法将类型“Sales.Mhebe.Data.Contact”隐式转换为“Contact”。 现在,如果我还没有和另外3个班一起做过,这就不会这么奇怪了。 ie)Sales.Mhebe.Data.Employee-to-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=ContactController.LookupContact(LookupContact)


如果您需要说任何其他类与contact有关,请让我知道。

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

Sales.Mhebe.Data.Contact  contacts = contactControllers.LookupContact(lookupContact);
如果要将
Sales.Mhebe.Data.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}

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

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

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

Contact contacts=(Contact)contactControllers.LookupContact(LookupContact);你需要像我在上一篇评论中所做的那样转换它,也请发布这两个类的定义,非常感谢!我必须找到这个联系人类。如果两个类都有相同的字段和属性,那么在这种情况下,会抛出相同的错误??这不会编译,因为它们看起来不兼容。欢迎@user2971026,问问自己为什么用相同的字段创建两个不同的类型。简单地说,不要那样做。正好一个。