English 中文(简体)
Implicit conversion from void to XmlDocument
原标题:

Probably a stupid question, but I m quite new to the whole "get-and-set-property"-kind of programming;

I keep getting a compiling-error on this part of my code;

private string _File = "Session.xml";

private XmlDocument XmlDoc
{
    get
    {
        XmlDocument _Doc = new XmlDocument();
        return _Doc.LoadXml(_File);
    }
}

private XmlElement XmlRoot
{
    get
    {
        return XmlDoc.DocumentElement;
    }
}

How come? I can t explain that to myself as I don t even see any implicit conversions...

最佳回答

This code is your problem:

return _Doc.LoadXml(_File);

The LoadXml method has a return type of void, as the method does not return any value, instead populating the XmlDocument instance from the file path specified.

To fix your problem, simply change your property to this:

private XmlDocument XmlDoc
{
    get
    {
        XmlDocument _Doc = new XmlDocument();
        _Doc.LoadXml(_File);
        return _Doc;
    }
}
问题回答

The problem is this line:

return _Doc.LoadXml(_File);

You re trying to return a value from a method that has a return type of void.

Try this instead:

private XmlDocument XmlDoc
{
    get
    {
        XmlDocument _Doc = new XmlDocument();
        _Doc.LoadXml(_File);
        return _Doc;
    }
}

_Doc.LoadXml(_File); return void and not XmlDocument. Change your code to:

private XmlDocument XmlDoc
{
    get
    {
        XmlDocument _Doc = new XmlDocument();
        _Doc.LoadXml(_File);
        return _Doc;
    }
}




相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签