小编use*_*661的帖子

从"设置"获取动态属性

我在AppConfig中存储了一些属性,现在我想动态访问它们(例如在循环或函数中).

使用MySettings.NAME_OF_THAT_THING访问这些值没有问题,但如果名称是可变的,该怎么办?

我试过了:

String propertyValue = MySettings.GetType().GetProperty("NAME_OF_THAT_THING").ToString();
Run Code Online (Sandbox Code Playgroud)

但我唯一得到的是该物业的名称.我怎样才能做到这一点?

.net c# settings app-config

9
推荐指数
2
解决办法
8687
查看次数

嵌套开关?或其他解决方案检查不同条件?

好的,情况如下:

我有一个客户端有2个设置:ConnectionState和ConnectionSollState,都是相同的可枚举(TypeConnectionState),它们存储客户端连接的实际状态和连接应该是的状态.在to的每个组合上,都会发生不同的事情,例如ConnectionState为"已连接"但ConnectionSollState为"已关闭" - >拆除客户端.所以我有4种可能性需要检查.现在每个客户端都可以处理无限数量的会话,并且每个会话都有一个状态(StreamState和StreamSollState),这些状态可以有6个可枚举的选项.

从现在开始,我正在制作20个切换条件,我的代码看起来非常混乱,我在编码时每5分钟做错一次.有没有更简单的方法来处理这样的情况?(if/else)会让事情变得更糟.

例:

private void RTSPWorker() {
    try {
        byte[] buffer = new byte[2048];
        while (!mb_RTSPWorkerAbbort) {
        // Call TransportWD
            Thread.Sleep(100 * mi_ConnectionTimeOut);

            // Check ConnectionSollState
            switch(ConnectionSollState) {
                case TypeConnectionState.Connected:
                    // ConnectionSollState = Connected, check ConnectionState
                    switch(ConnectionState) {
                        case TypeConnectionState.Connected:
                            // ConnectionState is connected, keep-alive!
                            if(GET_PARAMETER() == null) {
                                DESCRIBE();
                            }
                            // Check streams too
                            foreach (cRTSPStream oStream in mo_StreamDict.Values) {
                                // Check StreamSollState
                                switch(oStream.RTSPStreamSollState) {
                                    case cRTSPStream.TypeRTSPStreamState.Play:
                                        // SollState is PLAY, check State
                                        switch(oStream.RTSPStreamState) {
                                            case …
Run Code Online (Sandbox Code Playgroud)

c# if-statement coding-style case-statement switch-statement

3
推荐指数
1
解决办法
4981
查看次数

在哪里保存应用程序日志?

可能重复:
在Windows上存储应用程序日志文件的位置

Windows似乎有几个不同的应用程序存储其日志的地方.Windows服务和一些应用程序使用Windows事件日志,其他应用程序使用C:\ ProgramData,另一个应用程序将它们存储到C:\ Users(本地/系统/公共/默认)\ AppData /(漫游/本地).

我在开发Windows服务时注意到这一点,默认(AppData/Roaming)环境变量指向C:\ Windows\System32\Users\system\AppData\Roaming或其他完全荒谬的位置,所以我想知道是否有任何表在那里存储日志的位置:用户应用程序/用户服务/系统服务和更一般:所有这些应用程序文件夹是什么(什么属于哪里?)

谢谢!

c# windows environment events logging

3
推荐指数
1
解决办法
2147
查看次数