-1

我正在尝试用 C# 编写一个 .dll 库。这是代码:

namespace StreamManager
{

    public class ManageStream
    {

        public static class ThreadSafe
        {
            public static readonly object _locker = new object();
            public static Bitmap _snapshot;

            public static Bitmap Snapshot
            {
                get
                {
                    lock (_locker)
                    {
                        return _snapshot;
                    }
                }
                set
                {
                    lock (_locker)
                    {
                        _snapshot = value;
                    }
                }
            }

        }

        public class CoupleFrames
        {
            public CoupleFrames(ColorImageFrame cif, Bitmap df)
            {
                this.colorFrame = cif;
                this.desktopFrame = df;
            }

            public ColorImageFrame colorFrame;
            public Bitmap desktopFrame;
        }

        public static long Multiply(long x, long y)
        {
            return (x * y);
        }
    }
}

但我无法从另一个 C# 应用程序访问这些方法。

我只能浏览这些类:

StreamManager.ManageStream.ThreadSafeStreamManager.ManageStream.CoupleFrames

我无法使用该方法Multiply(long x, long y)或访问该成员Snapshot

4

1 回答 1

1

只要您有对添加到项目中的 DLL 的引用,我看不出有任何理由说明您无法在任何时候调用 StreamManager.ManageStream.Multiply。似乎对我有用。

我创建了一个新的类库项目,将以下设置为代码:

namespace StreamManager
{
    public class ManageStream
    {
        public static long Multiply(long x, long y)
        {
            return (x * y);
        }
    }
}

然后我将它编译为 DLL,创建了一个新的控制台应用程序,添加了对 DLL 的引用,并且能够毫无问题地调用 StreamManager.ManageStream.Multiply。

于 2013-06-28T13:46:47.913 回答