标签: compact-framework

c# - 错误编译目标Compact Net Framework 3.5 - 方法'GetString'的重载没有'1'参数

我实际上有两个关于同一问题的问题,但我认为最好将它们分开,因为我认为它们并不相关.

背景:我正在VB.NET中编写一个Windows Mobile软件,其中任务需要连接到邮件服务器以发送和检索电子邮件.因此,我还需要一个Mime解析器(用于解码和编码)电子邮件以获取附件.首先我想,我会写一个小的"hack"来处理这个问题(使用普通的字符串解析),但后来我在CodeProject看到了一个用C#编写的项目我认为我会在我的解决方案中实施.我对C#了解不多,所以我只是从类中创建了一个类库,并在我的VB.NET项目中使用它.当我在普通的Windows计算机上瞄准Net Framework时,这个库工作得非常好,但当我打算制作针对Compact Net Framework的同一个库时,我遇到了麻烦.这是很自然的,因为Compact Net Framework有更多的限制,但实际上我没有得到那么多错误 - 只有两个错误,尽管在代码中的不同位置重复.

其中一个错误是在这个问题的主题中引用的错误,即"方法'没有重载'GetString'取'1'参数".如上所述,我对C#了解不多,所以我将带有错误的类转换为VB-NET,但我仍然不太了解..这是给出上述错误的函数:

public virtual string DecodeToString(string s)
{
  byte[] b = DecodeToBytes(s);
  if(m_charset != null)
  {
    //ERROR ON THIS LINE
    return System.Text.Encoding.GetEncoding(m_charset).GetString(b);
  }
  else
  {
    m_charset = System.Text.Encoding.Default.BodyName;
    //ERROR ON THIS LINE
    return System.Text.Encoding.Default.GetString(b);
  }
}
Run Code Online (Sandbox Code Playgroud)

如果这个类需要完整的源代码,那么我可以在这个帖子中的另一个消息中发布它,或者你可以通过在上面提到的网站上下载代码并查看名为MimeCode的类来找到它. CS.

谁可以帮助我?我可以以某种方式重写上述功能来克服这个问题吗?

我提前感谢你的帮助.

亲切的问候,祝大家新年快乐.

Rgds,moster67

c# mime compact-framework windows-mobile

2
推荐指数
1
解决办法
3219
查看次数

数据绑定的WinForms表单 - 如何格式化日期?

我在TextBox控件中有一个带有日期值的表单.该表单使用数据绑定与BindingSource对DataSet和SQL 2005 CE数据库.我在哪里控制日期的格式?例如,在沿途的物业中,我没有看到剥离时间部分的可能性.

我当然可以在数据库中执行它并传递字符串而不是DateTime,但这是解决方法而不是解决方案.

data-binding formatting datetime compact-framework winforms

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

有关设备、平台等的信息

我想从运行我的应用程序的设备中获取有关设备、操作系统等的一些信息。我需要记录这些数据,以便稍后运行一些诊断程序。

现在我认为这些数据位于 Microsoft.Win32.Registry 中,但这意味着我需要知道访问值的所有键。

任何的想法?

compact-framework

2
推荐指数
1
解决办法
1594
查看次数

线程 - 如何使用UI交互终止工作/后台线程

Compact Framework,Windows Mobile 6,C#.

我正在对紧凑框架进行一些背景线程,并且有一个问题:终止工作线程.

代码

我有以下ThreadWorker类(来自这里的代码),在执行时,将在某些点执行检查以查看它是否应该退出.....

public class ThreadWorker 
{

    public event EventHandler<ProgressEventArgs> OnProgress;

    protected virtual void Progress(ProgressEventArgs args)
    {
        if (OnProgress != null)
            OnProgress(this, args);
    }

    private void DoLongProcess()
    {
        // This will take a long time.
        Thread.Sleep(15000);
        Progress(new ProgressEventArgs("Some info for the UI to display."));
        Thread.Sleep(15000);
    }

    public void DoSomeBackgroundWork()
    {
        try
        {
            while (!Stopping)
            {
                DoLongProcess();
                if (Stopping) return;

                DoLongProcess();
                if (Stopping) return;

                DoLongProcess();
                if (Stopping) return;

                DoLongProcess();
                if (Stopping) return;
            }
        }
        finally …
Run Code Online (Sandbox Code Playgroud)

c# multithreading compact-framework thread-safety

2
推荐指数
1
解决办法
6188
查看次数

是否可以完全阻止.NET Compact Framework上的多个实例?

因为我尝试了许多方法来停止在.net紧凑框架3.5上运行的手持设备上的多实例问题.

目前,我通过创建"Mutex"获得解决方案,并检查是否有相同的进程正在运行.我把这个语句放在"Program.cs"中,它将在程序启动时第一次执行.

但我认为这不是我的问题,因为我得到了用户的请求,他们需要在运行时禁用"程序图标".

我理解用户的观点,他们有时可能会在短时间内"打开"该程序多次或多次.所以,如果它仍然能够"打开".这意味着程序需要自己初始化,最终可能会失败.是否可以绝对阻止多个实例?还是有其他方式没有编程,如在Windows CE上编辑注册表?


这是我的源代码:

bool firstInstance;
NamedMutex mutex = new NamedMutex(false, "MyApp.exe", out firstInstance);

if (!firstInstance)
{
    //DialogResult dialogResult = MessageBox.Show("Process is already running...");
    Application.Exit();
}
Run Code Online (Sandbox Code Playgroud)

NamedMutex是OpenNetCF的类.

.net c# compact-framework multiple-instances handheld

2
推荐指数
1
解决办法
2829
查看次数

获得无线网络优势

我在使用OpenNetCF 2.3版的C#,Compact Framework 3.5,Windows Mobile 5项目中获得无线信号强度时遇到了困难.我的目标是在发送请求之前评估网络访问的强度,因为此设备的网络覆盖可能不完整.

在谷歌周围后,我找到了两个可能的线索.Microsoft的一个示例项目,它使用AccessPoint在OpenNETCF 2.3中标记为已弃用的now 类,以及一些建议SignalStrengthWirelessNetworkingInterface类上使用该属性的建议.这似乎是理论上的一个好主意但是工厂方法似乎应该返回此类OpenNETCF.Net.NetworkInformation.WirelessNetworkInterface.GetAllNetworkInterfaces()而不是返回INetworkInterface不暴露SignalStrength属性的类.

有没有人设法使用OpenNETCF 2.3评估无线强度?我不明白这个包的正确用法吗?或者有没有人为此问题制定了解决方案?

任何指导或帮助都非常有用.

c# wireless compact-framework windows-mobile-5.0 opennetcf

2
推荐指数
1
解决办法
4995
查看次数

.NET CF 3.5移动应用程序在VS 2008中慢慢构建

我一直在使用在Visual Studio 2008中使用.NET Compact Framework 3.5构建的Windows Mobile 6应用程序.该应用程序构建速度极慢,大部分时间都在使用PlatformVerificationTask.

如何加快构建速度?

deployment compact-framework windows-mobile visual-studio-2008

2
推荐指数
1
解决办法
2692
查看次数

获取SQL Server CE和C#中新插入的行的主键?

我正在插入SQL Server CE表,其中主键是自动生成的,在插入完成后如何获取主键?

c# sql compact-framework sql-server-ce

2
推荐指数
1
解决办法
4962
查看次数

如何以编程方式将ListView滚动到最后一个元素 - Compact Framework

我正在Windows Mobile 6.1上使用3.5 Compact Framework开发应用程序.我有一个ListView,我想在添加项目时自动滚动此列表.

我能怎么做?

c# listview compact-framework autoscroll

2
推荐指数
1
解决办法
5895
查看次数

按ASC顺序的值排序哈希表

我在紧凑框架3.5中工作

myfile.cs

public class Cases : IEnumerable
{
    private Hashtable cases = new Hashtable();   // hashtable initilized

    IEnumerator System.Collections.IEnumerable.GetEnumerator()
    {
            return cases.GetEnumerator();
    }

     public bool Add(string caseCode, string scanTime)
     {
        Reading reading = new Reading(caseCode, scanTime);
        cases.Add(caseCode, reading);   
        //some other logic          
     }
}
Run Code Online (Sandbox Code Playgroud)

我已经将哈希表初始化为case.我在case变量中添加扫描条形码.目前它没有任何顺序.我需要按升序排序扫描条形码.如何做到这一点.

更新:

例如,我正在添加以下项目,

  Cases a = new Cases();
        a.Add("11115", "2014-09-11T01:55:25.0000000-07:00");
        a.Add("11111", "2014-09-11T01:55:40.0000000-07:00");
        a.Add("11112", "2014-09-11T01:55:45.0000000-07:00");
        a.Add("11110", "2014-09-11T01:55:56.0000000-07:00");
        a.Add("11113", "2014-09-11T01:56:10.0000000-07:00");
        a.Add("11111", "2014-09-11T01:56:17.0000000-07:00");
Run Code Online (Sandbox Code Playgroud)

我希望数据的打印顺序与列表中的顺序相同.这里的关键是时间,这里的时间默认是升序.但是在打印过程中打印的是这样的,

[11110,StackOverflow.Reading] 
[11111,StackOverflow.Reading] 
[11111,StackOverflow.Reading] 
[11112,StackOverflow.Reading] 
[11113,StackOverflow.Reading] 
[11115,StackOverflow.Reading] 
Run Code Online (Sandbox Code Playgroud)

我想要这样打印,

[11115,StackOverflow.Reading] 
[11111,StackOverflow.Reading] 
[11112,StackOverflow.Reading] 
[11110,StackOverflow.Reading] 
[11113,StackOverflow.Reading] 
[11111,StackOverflow.Reading]
Run Code Online (Sandbox Code Playgroud)

使用哈希表随机打印上面的内容而不是任何顺序.但是SortedList是按升序打印的.你能告诉我如何以相同的顺序打印列表中的数据.

.net c# compact-framework

2
推荐指数
1
解决办法
4405
查看次数