无法访问类的公共属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法访问类的公共属性相关的知识,希望对你有一定的参考价值。

我做了一个有3个属性的公共课。代码如下;

public class FileInformation
{
    public String Name { get; set; }
    public DateTime CreationTime { get; set; }
    public DateTime LastModified { get; set; }
}

我正在使用此类使用本地文件夹中的文件填充Datagrid。为此,我使用以下代码;

        DirectoryInfo di = new DirectoryInfo(@"db");
        List<FileInfo> files = di.GetFiles("*.accdb").ToList();

        List<FileInformation> view1 = new List<FileInformation>();
        foreach (FileInfo file in files)
        {
            view1.Add(new FileInformation() { Name = file.Name, CreationTime = file.CreationTime, LastModified = file.LastWriteTime });
        }

        listview_openproject.ItemsSource = view1;

现在,我希望能够检测到在数据网格中选择了哪些文件,所以我尝试了以下内容。

var selectedProject = listview_openproject.SelectedValue;

这给了我一个具有3个属性的对象 - Name,Creationtime和LastModified。到现在为止还挺好。我想访问attibute“名称”,但我无法这样做。我以为我可以简单地写;

var selectedProjectName = selectedProject.Name;

但这不起作用。我怎样才能访问这个属性?

VS的屏幕截图:

enter image description here

答案

SelectedItem属性返回列表绑定的整个对象。请改用此属性:

FileInformation fi = (FileInformation)listview_openproject.SelectedItem;
String name = fi.Name;

以上是关于无法访问类的公共属性的主要内容,如果未能解决你的问题,请参考以下文章

无法访问用户控制公共属性

无法访问用户控件上的公共属性wpf c#

Java中子类能够继承父类的private属性或方法吗

JavaScript学习总结——this关键字

JavaScript学习总结——this关键字

第三章面向对象编程思想