类型“DateToStringConverter”不可访问

本文关键字:访问 DateToStringConverter 类型 | 更新日期: 2023-09-27 18:35:46

我在x64 Windows 8.1上运行Visual Studio 2013 Community Update 4,所有可用更新均应用于2014年12月30日。我在VMWare Fusion 7上运行Windows 8.1,MacBook Pro配备2个处理器和分配的4Gig。使用 C#,标准空白模板,并添加我自己的自定义类。我已将命名空间添加到 MainPage.xaml 中:

<Page
    x:Class="BindingWithValueConverters.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:BindingWithValueConverters"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:valueconverter="using:BindingWithValueConverters.Converters"
    mc:Ignorable="d"
    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
    DataContext="{Binding WeatherViewModel, RelativeSource={RelativeSource Self}}">
    <Page.Resources>
        <valueconverter:DateToStringConverter x:Key="DateToStringConverter" />
    </Page.Resources>
    ...
"

红色波浪线"行仍保留在"valueconverter:DateToStringConverter"下;如果我删除该行,然后开始键入"va..."智能感知拾取"valueconverter:",因此命名空间是"那里"。然后,"DateToStringConverter"类显示为自动完成的选项。一旦接受,经过短暂的延迟,红色波浪线回来指定:

The type "DateToStringConverter" is not accessible.

代码生成和运行没有错误。我可以继续盲目地编码。不过,最好解决此问题。将不胜感激指导。

我已经清理了项目。我已经删除了 *.suo 文件。手机模拟器像在非 VM 上一样运行。我已经在Windows 8.1机器(没有VM)上运行了这个确切的项目,并且没有这个问题。我怀疑是智能感知。如果有帮助,这是我的转换器类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.UI.Xaml.Data;
namespace BindingWithValueConverters.Converters
{
    class DateToStringConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            //throw new NotImplementedException();
            DateTime date = (DateTime)value;
            return String.Format("{0:dddd}  -  {0:d}", date);
        }
        public object ConvertBack(object value, Type targetType, object parameter, string language)
        {
            throw new NotImplementedException();
        }
    }
}
VMWare

/Mac是工作与不工作之间的明显区别;但是,我希望我的VMWare部署或Visual Studio部署中缺少一个关于智能感知的参数,可以解决这个问题。Intellisense正在该项目中的其他任何地方工作。

谢谢!

类型“DateToStringConverter”不可访问

尚未为转换器类提供显式访问修饰符。 将其公开,它会显示得很好。

public class DateToStringConverter : IValueConverter