Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.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# VS Designer总是抛出异常;x属性没有';“没有获取/设置方法”;_C#_Wpf_Visual Studio 2013_Windows Runtime_Windows Phone 8.1 - Fatal编程技术网

C# VS Designer总是抛出异常;x属性没有';“没有获取/设置方法”;

C# VS Designer总是抛出异常;x属性没有';“没有获取/设置方法”;,c#,wpf,visual-studio-2013,windows-runtime,windows-phone-8.1,C#,Wpf,Visual Studio 2013,Windows Runtime,Windows Phone 8.1,我与VS Designer之间存在这个问题,这使得它无法使用。 发生的情况是,我正在编辑我的XAML代码,VS设计器将在某个时候抛出异常,堆栈跟踪如下: private bool _MyProperty = true; public bool MyProperty { set { if (_MyProperty != value) { // Do a few things here this._My

我与VS Designer之间存在这个问题,这使得它无法使用。 发生的情况是,我正在编辑我的XAML代码,VS设计器将在某个时候抛出异常,堆栈跟踪如下:

private bool _MyProperty = true;

public bool MyProperty
{
    set
    {
        if (_MyProperty != value)
        {
            // Do a few things here
            this._MyProperty = value;
        }
    }
}
InvalidOperationException:属性“MyObject.MyProperty”没有get方法

堆栈跟踪:

位于Microsoft.Expression.DesignModel.Metadata.LocalClrPropertyImplementation.GetValue(对象目标) 位于Microsoft.Expression.DesignModel.Metadata.ClrPropertyReferenceStep.GetValue(对象值检查) 位于Microsoft.Expression.DesignModel.Metadata.PropertyReference.TryGetValue(对象和值、引用步骤引用步骤、对象目标) 位于Microsoft.Expression.DesignModel.Metadata.PropertyReference.PartialGetValue(对象目标、Int32 initialStepIndex、Int32 finalStepIndex) 在[…]

…而且至少还要再进行50行

所涉及的财产如下:

private bool _MyProperty = true;

public bool MyProperty
{
    set
    {
        if (_MyProperty != value)
        {
            // Do a few things here
            this._MyProperty = value;
        }
    }
}
现在,这个很好用,我的项目中有很多类似的东西,VS以前从来没有用它们困扰过我。 如果我尝试再次关闭和打开VS,它会让我工作一段时间,然后它最终会再次抛出此错误

我试着从编译>清洗溶液中清洗溶液,但不起作用

我真的不知道这里有什么问题。 我的意思是,我在两个月前就创建了那个房产,为什么VS现在才告诉我呢


有没有解决方法,或者我必须在我创建的每个参数中手动添加所有无用的get/set方法?

我认为这很明显,根据您的错误消息:“属性”MyObject.MyProperty“没有get方法”,您必须在某处访问MyObject.MyProperty来使用MyProperty,你需要检查一下,
还有一种方法是,如果你不想在这个类之外公开MyProperty,你应该使用“private set”,当你有一个公共setter时,你没有getter,这真的很奇怪,希望能给你一些帮助,我在使用只写属性(定义为只写)时遇到了windows窗体设计器的错误(VS 2015)。我只能通过使属性读写(set/get)来重新显示表单

我没有将其转化为方法的唯一原因是我需要在设计时“可设置”


希望这有助于其他人,或者在我忘记并再次找到此帖子时帮助我:)

您是否试图在应用程序中的任何位置获取此属性的值
MyProperty
?所有这些
GetValue()
方法都做了什么?您是否有意使用只写属性?@SaagarEliasJacky不,我没有,我只是在更改XAML中某些控件的布局时遇到了该异常。它随机出现在不同的页面上。@RufusL是的,我只是用它们在UserControls中的某些元素的值后面设置via代码,并通过xamly传递这些值。您是否定义了依赖属性?正如我所说,我确信我在代码的任何地方都没有在读取模式下使用该属性,重启VS解决了这个问题。另外,编译器给出0个错误,应用程序运行正常。VS只是被那个错误随机搞砸了,比如说现在好像10天就可以正常工作了。如果是这样的话,你对那个对象进行过序列化吗,或者序列化是在某种情况下触发的?序列化需要getter和setter,当对象不可序列化时,抛出异常是很常见的。