我正在创建一个导入多个插件的应用程序.我需要能够执行每个插件中实现的功能.例如,我需要做这样的事情.
/////////////////////////////////////////////////////////////////////////////////
MainApp:
[ImportMany(?)]
public IEnumerable<Lazy<?>> PluginFunctions1 { get; set; }
[ImportMany(?)]
public IEnumerable<Lazy<?>> PluginFunctions2 { get; set; }
foreach (f1 in PluginFunctions1)
{
f1(); // execute Function1 from each plugin
}
foreach (f2 in PluginFunctions2)
{
string result = f2(val); // execute Function2 from each plugin
}
/////////////////////////////////////////////////////////////////////////////////
Plugin:
[export(?)]
public void Function1()
{
}
[export(?)]
public string Function2(string value)
{
return result;
}
/////////////////////////////////////////////////////////////////////////////////
Run Code Online (Sandbox Code Playgroud)
问题是我不确定如何定义导入和导出以及如何准确执行该功能.
如何以任意组合和不同长度匹配字母a,b,c,如下所示:
表达式应符合以下情况:
abc
bc
a
b
bca
Run Code Online (Sandbox Code Playgroud)
但不应该匹配这些:
abz
aab
cc
x
Run Code Online (Sandbox Code Playgroud) 我正在创建一个自定义用户控件,我想知道如何在设计时设置属性的初始值?我有一个名为Alignment的属性,它有4个枚举值TopRight,TopLeft,BottomRight和BottomLeft.因此,当用户将用户控件放到Form上时,我希望该属性的初始值始终为BottomRight.我怎样才能做到这一点?
我见过人们定义他们的事件是这样的:
public event EventHandler<EventArgs> MyEvent = delegate{};
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下如果没有它,这与定义它有何不同?是否要在提升事件时避免检查null?
这是我第一次使用FFmpeg.我尝试打开的每种类型的媒体文件都avformat_open_input
返回"处理输入时找到的无效数据".我使用的是32位FFmpeg Build版本:92de2c2.我根据这个答案设置我的VS2015项目:在Visual Studio中使用FFmpeg.这段代码可能出现什么问题?
#include "stdafx.h"
#include <stdio.h>
extern "C"
{
#include "libavcodec/avcodec.h"
#include <libavformat/avformat.h>
#include <libavutil/avutil.h>
}
int main(int argc, char *argv[])
{
AVFormatContext *pFormatCtx = NULL;
avcodec_register_all();
const char* filename = "d:\\a.mp4";
int ret = avformat_open_input(&pFormatCtx, filename, NULL, NULL);
if (ret != 0) {
char buff[256];
av_strerror(ret, buff, 256);
printf(buff);
return -1;
}
}
Run Code Online (Sandbox Code Playgroud) 我想知道如何处理一个有很多控件的表单.您是否将所有处理代码填入表单?这就是我一直在做的事情,但由于我需要使用的所有控件,我最近的项目失控了.我有菜单,多个工具栏,填充控件的tabcontrols,状态栏,......你明白了.我正在考虑使用部分类来分解事物,但这可能是一个坏主意.我只是需要一些关于我应该做什么的建议.
如何<br>
从下面的表单HTML中提取第二组输入节点?
当我尝试以下操作时,我没有输入节点.
HtmlNode.ElementsFlags.Remove("form");
HtmlNode formNode = doc.DocumentNode.SelectNodes("//form")[0];
foreach (HtmlNode innode in formNode.Elements("input"))
{
...
}
Run Code Online (Sandbox Code Playgroud)
HTML
<form>
<div>
<input type="submit" value="subv1" name="subn1">
</div>
<script></script>
<table></table>
<table></table>
<br>
<input type="hidden" value="v1" name="n1">
<input type="hidden" value="v2" name="n2">
<input type="submit" value="subv2" name="subn2">
</form>
Run Code Online (Sandbox Code Playgroud) 我使用以下内容将计算机上的主音频静音/取消静音.现在,我正在寻找一种确定静音状态的方法.在C#中有这么简单的方法吗?
private const int APPCOMMAND_VOLUME_MUTE = 0x80000;
private const int WM_APPCOMMAND = 0x319;
[DllImport("user32.dll")]
public static extern IntPtr SendMessageW(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);
Run Code Online (Sandbox Code Playgroud) 我试图以编程方式从包含颜色数据的数组创建位图.使用下面的代码,当在图片框中显示时,我会并排获得3个重复的扭曲图像.谁能告诉我哪里出错了?
public Bitmap CreateBM(int[,] imgdat)
{
Bitmap bitm = new Bitmap(imgdat.GetUpperBound(1) + 1, imgdat.GetUpperBound(0) + 1, PixelFormat.Format24bppRgb);
BitmapData bitmapdat = bitm.LockBits(new Rectangle(0, 0, bitm.Width, bitm.Height), ImageLockMode.ReadWrite, bitm.PixelFormat);
int stride = bitmapdat.Stride;
byte[] bytes = new byte[stride * bitm.Height];
for (int r = 0; r < bitm.Height; r++)
{
for (int c = 0; c < bitm.Width; c++)
{
Color color = Color.FromArgb(imgdat[r, c]);
bytes[(r * bitm.Width) + c * 3] = color.B;
bytes[(r * bitm.Width) + c * 3 + …
Run Code Online (Sandbox Code Playgroud) 我有一个自定义控件,其中包含 6 个面板控件,它们的作用类似于在设计时放入的其他控件的容器。这是通过创建一个继承自 ParentControlDesign 的自定义设计器来完成的。在设计器中,我使用 EnableDesignMode 为每个面板控件启用设计时功能。问题是当我使用控件时,我可以移动面板。我可以做些什么来防止它们在设计时移动?
如何使用正则表达式从使用行继续符"_"的源字符串中提取以下内容.注意,行继续符必须是该行的最后一个字符.此外,搜索应该从字符串的结尾开始,并在第一个"("遇到的时候终止.这是因为我只对文本末尾发生的事情感兴趣.
想要输出:
var1, _
var2, _
var3
Run Code Online (Sandbox Code Playgroud)
资源:
...
Func(var1, _
var2, _
var3
Run Code Online (Sandbox Code Playgroud) c# ×9
html ×2
regex ×2
.net ×1
audio ×1
bitmap ×1
containers ×1
controls ×1
design-time ×1
events ×1
export ×1
ffmpeg ×1
function ×1
import ×1
java ×1
javascript ×1
mef ×1
mute ×1
perl ×1
properties ×1
visual-c++ ×1
winapi ×1
winforms ×1