我必须创建一个非常基本的 Mqtt 代理客户端演示,因此我遵循并下载了这个示例。
它工作得很好,但它是一个带有 Net5.0 的控制台应用程序。
我必须让它在 wpf 4.5.2 上工作。解决方案。按照这个应该是可以的

以上面的解决方案为例
我使用相同的参考创建了自己的项目
对于每个项目,我还添加了正确的 using 语句,如示例中所示。
所以一切都应该是正确的,但是当我粘贴服务器的代码时,我收到了这些错误
MqttServerOptionsBuilder options = new MqttServerOptionsBuilder()
.WithDefaultEndpoint()
.WithDefaultEndpointPort(707)
.WithConnectionValidator(OnNewConnection)
.WithApplicationMessageInterceptor(OnNewMessage);
IMqttServer mqttServer = new MqttFactory().CreateMqttServer();
Run Code Online (Sandbox Code Playgroud)
对于客户我也遇到其他错误
哪里有问题?谢谢
- -添加 - -
按照要求这里是错误
(1) Error CS1061 'IManagedMqttClient' does not contain a definition for 'ConnectedHandler' and no accessible extension method 'ConnectedHandler' accepting a first argument of type 'IManagedMqttClient' could be found (are you missing a using directive or an assembly reference?) Client C:\Development\MqttDemo\MqttDemo\Client\MainWindow.xaml.cs 43 25 …Run Code Online (Sandbox Code Playgroud) 这是续集
所以现在我有一个来自流的 BitmapImage 。简而言之,我想将 BitmapImage 调整为所需的大小。
我找到了大量关于如何从文件系统上的图像调整大小的代码,但没有找到关于如何从现有的 BitmapImage 调整大小的代码
我想要一个新的列表进行初始化
List<int> l = new List<int>();
Run Code Online (Sandbox Code Playgroud)
越来越多,例如
如果列表有10个元素,则必须为0,1,2,3,4,5,6,7,8,9
我有一个基类:
abstract class ClassPlugin
{
public ClassPlugin(eGuiType _guyType)
{
GuiType = _guyType;
}
public eGuiType GuiType;
protected void Notify(bool b)
{
...
}
protected virtual void RaiseAction()
{
Notify(false);
}
}
Run Code Online (Sandbox Code Playgroud)
然后我有一些派生类:
class ClassStartWF : ClassPlugin
{
public ClassStartWF(eGuiType _guyType) : base(_guyType) { }
public event delegate_NoPar OnStartWorkFlow_Ok;
public void Action()
{
Notify(true);
RaiseAction(eEventType.OK);
}
public new void RaiseAction(eEventType eventType)
{
base.RaiseAction();<--------------------
if (OnStartWorkFlow_Ok == null)
MessageBox.Show("Event OnStartWorkFlow_Ok null");
else
OnStartWorkFlow_Ok();
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在在raise动作中我必须在base.RaiseAction()方法之前调用但是可以忘记了.有没有办法在调用派生方法之前自动调用基本方法(并在那里执行某些操作)?
我必须通过后面的代码定义一个组合框:
var cmbLogin = new ComboBox()
{
Width = 200,
Height = m_dFontSize + 10,
FontSize = m_dFontSize,
Margin = new Thickness(20),
BorderBrush = new SolidColorBrush(m_ExeCfg.GetForeground()),
HorizontalContentAlignment = HorizontalAlignment.Center,
Background = Brushes.Transparent,<--------------HERE
Foreground = new SolidColorBrush(m_ExeCfg.GetForeground()),
Focusable = true,
};
Run Code Online (Sandbox Code Playgroud)
所以背景在win7中变得透明,但在win10中不是。
我已经通过 xaml 看到了一些解决方案,但不能仅将它们应用到代码中。谢谢
c# ×4
wpf ×3
.net ×1
background ×1
base-class ×1
bitmapimage ×1
combobox ×1
inheritance ×1
list ×1
mqtt ×1
resize ×1
windows-10 ×1
windows-8 ×1