公共或私人活动和代表?

时间:2017-02-07 07:09:42

标签: c# events delegates private public

我有一个变量问题, X1是一个变量,其中缺陷X1的事件和方法是私有的 如果将此变量更改为public我只能 用这个叫

X1.OnCapture += delegate{ Myresult = X1.Result;} 

但是我不知道变量应该是私有的,在这种情况下我需要这样做以在变量私有上添加委托

public enum EventsEnum
        {
            OnCapture, OnChange, OnConfiguration, OnDelete, OnError, OnIdentify, OnRegister, OnScan, OnScannerStatus, OnVerify
        }

    public string dfes(System.EventHandler Delegado,EventsEnum Events)
    {
        string Result = "";
        switch (Events)
        {

            case EventsEnum.OnCapture:
                X1.OnCapture += (Delegado + delegate
                {
                    Result = X1.result;
                });
                break;
            case EventsEnum.OnChange:
                X1.OnChange += (Delegado + delegate
                {
                    Result = X1.result;
                });
                break;
            case EventsEnum.OnIdentify:
                X1.OnIdentify += (Delegado + delegate
                {
                    Result = X1.result;
                });
                break;
            default:
                break;
        }
        return Result;
    }

要做的更正形式是什么? ,我需要私人变量吗? ,是一种犯罪使变种公众?我真的很赞赏你的意见,以正确和正式的方式做到这一点

1 个答案:

答案 0 :(得分:0)

来自MSDN:
public
类型或成员可以由同一组件中的任何其他代码或引用它的另一个组件访问。

private
只能通过同一类或结构中的代码访问类型或成员。

因此。如果您想要访问其他类的某个字段,属性和事件,则必须使用public。 更多信息:https://msdn.microsoft.com/en-us/library/ms173121.aspx