小编Tam*_*red的帖子

Skype API调用始终被取消

我有一个小应用程序,它在Skype中拨打电话号码并允许记录对话.

但它在7.5之后不适用于Skype版本.我试过两个Skype4COM并直接API:

对于Skype4COM呼叫始终获取状态clsCancelled,FailureReason是cfrMiscError.下面的示例代码:

Skype skype = new SKYPE4COMLib.Skype();

if (!skype.Client.IsRunning)
{
    skype.Client.Start(true, true);
}

skype.Attach(skype.Protocol, true);

Call call = skype.PlaceCall("+17606604690");
Run Code Online (Sandbox Code Playgroud)

对于直接API调用状态是MISSED.我正在使用以下命令来开始通话CALL +17606604690.可以通过与他一起开始IM并将Skype客户端置于焦点,从您的联系人列表中的某个人开始呼叫,但这种方法不适用于移动号码.

我认为Skype API在7.5版之后发生了变化,因为我发现其他应用程序仍然可以进行调用.我也知道Skype的URL,但它们有很大的延迟,如果呼叫失败,你也不会告诉你.

c# skype

9
推荐指数
1
解决办法
1153
查看次数

PerformanceCounter.NextValue()抛出InvalidOperationException

这是创建性能计数器的代码:

var ftpPerfCounter = new PerformanceCounter("FTP Service", "Current Connections", "_Total");
Run Code Online (Sandbox Code Playgroud)

这是异常发生的地方:

int cnt = (int)Math.Round(ftpPerfCounter.NextValue());
Run Code Online (Sandbox Code Playgroud)

这是Exception消息:

"错误消息:指定类别的计数器布局无效,类型的计数器:AverageCount64,AverageTimer32,CounterMultiTimer,CounterMultiTimerInverse,CounterMultiTimer100Ns,CounterMultiTimer100NsInverse,RawFraction或SampleFraction必须紧跟任何基本计数器类型:AverageBase ,CounterMultiBase,RawBase或SampleBase."

错误消息非常神秘.我不知道如何避免将来发生异常.

细节

这种情况发生在Windows Server 2008 R2 64位操作系统上.FTP服务器是IIS.

c# performancecounter invalidoperationexception iis-7.5 windows-server-2008-r2

7
推荐指数
1
解决办法
2880
查看次数

gitignore - 忽略除指定文件类型之外的所有文件类型

我只是要提交的文件,其扩展名是.fmb,.fmx和.pll,但我不能配置.gitignore文件来实现这一目标.

我试过以下内容:

!.fmb
!.fmx
!.pll
Run Code Online (Sandbox Code Playgroud)

还有:

!*.fmb
!*.fmx
!*.pll
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

git gitignore

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

将C#6.0默认属性值转换为C#5.0

public List<string> MembershipIds
{
    get;
    set;
} = new List<string>();
Run Code Online (Sandbox Code Playgroud)

我得到了无效令牌

类,结构或接口成员声明中的"=".

这是C#6功能.如何将其转换为C#5?

.net c# properties c#-6.0

7
推荐指数
1
解决办法
936
查看次数

使用Roslyn调试动态编译的代码

我正在使用Roslyn动态编译任意*.cs文件.我能够生成DLLs和PDBs,并通过反射执行加载的程序集内的方法,而是附着在VS调试器时System.Diagnostics.Debugger.Launch(),我得到"源不可用"的错误.VS中的"模块"窗口显示符号已成功加载.有问题的源存在于同一解决方案下的项目中,但直到运行时才会编译.

有没有人成功地使这个工作?谢谢!

复制:https://gist.github.com/toraora/a9d4eb8679383fe659da04d3be5c2d6e(当我在这台机器上设置SSH密钥时,我会提出实际的解决方案)

c# roslyn

7
推荐指数
1
解决办法
1310
查看次数

LINQ版本计算数组中相邻元素的和积

我正在寻找一种方法在LINQ中执行以下操作(它基本上是一个sumproduct,其中相同的数组包含产品n和n + 1索引的操作数,显然数组长度总是如此2 * n).

int[] input = { -3, 26, -2, 19, 2, 19, 3, 29, 1, 48 };

// sum product
double result = 0;
for (int i = 0; i < input.Length; i += 2)
     result += input[i] * input[i + 1];

// result = 57

// linq version of calculating resultPrice ???
Run Code Online (Sandbox Code Playgroud)

我怎样才能(优雅地)使用LINQ?

.net c# linq

7
推荐指数
3
解决办法
1415
查看次数

对象集合的对象初始化程序

我想看看是否有初始化的方式List<T>,其中T是一个object很像一个简单的集合被初始化?

简单收集初始化器:

List<int> digits = new List<int> { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
Run Code Online (Sandbox Code Playgroud)

对象集合启动器:

 List<ChildObject> childObjects = new List<ChildObject>
 {       
        new ChildObject(){ Name = "Sylvester", Age=8 },
        new ChildObject(){ Name = "Whiskers", Age=2 },
        new ChildObject(){ Name = "Sasha", Age=14 }
 };
Run Code Online (Sandbox Code Playgroud)

问题是,如何以及如果你能做这样的事情?

 List<ChildObject> childObjects = new List<ChildObject>
 {       
       { "Sylvester", 8} , {"Whiskers", 2}, {"Sasha", 14}
 };
Run Code Online (Sandbox Code Playgroud)

c#

6
推荐指数
1
解决办法
189
查看次数

WPF跨线程MessageBox不阻塞主线程输入

我试图表现出MessageBox从另一个Thread使用Dispatcher.Invoke.

在MessageBox没有露面.但是没有点击OK按钮MessageBox,我仍然可以控制主窗口.

我在想是否有办法在点击OK按钮之前阻止主窗口输入?

任何帮助表示赞赏.

我到目前为止的代码:

void ShowError(String message)  //I call this function in another thread
{
    if (this.Dispatcher.CheckAccess())
        MessageBox.Show(message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
    else
    {
        this.Dispatcher.Invoke(
            new Action(() =>
            {
                MessageBox.Show(message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }));
    }
}
Run Code Online (Sandbox Code Playgroud)

c# wpf multithreading

6
推荐指数
1
解决办法
1364
查看次数

可以创建密钥未知的通用搜索方法

可以创建密钥未知的通用搜索方法; 例如,List的Key将被传递给参数,它执行类似搜索并返回已过滤的List.

代码应该是这样的:

public List<T> LikeSearch<T>(List<T> AllData,T key, string searchString)
{
  List<T> _list = new List<T>();
  //Perform the search on AllData based on searchString passed on the key   
  //given
 return _list;
}
Run Code Online (Sandbox Code Playgroud)

用途如下:

例1

List<Users> _users = LikeSearch<Users>(AllUsers,'Name','sam');
Run Code Online (Sandbox Code Playgroud)

AllUsers100的清单在哪里users.

例2

List<Customers> _cust = LikeSearch<Customers>(AllCustomers,'City','London');
Run Code Online (Sandbox Code Playgroud)

AllCustomers100的清单在哪里Customers.

请sugest

c# linq generics

6
推荐指数
1
解决办法
1354
查看次数

为什么我不能修改取消装箱转换的结果?

struct Point
{
    public int x;
    public int y;
}
void Main()
{
    Point p;
    p.x = 1;
    p.y = 1;
    Object o = p;
    ((Point) o).x = 4; // error
    ((Point) o).x = 5; // error
    ((Point) o).x = 6; // error
    p = (Point) o  // expect 6
}
Run Code Online (Sandbox Code Playgroud)

为什么不编译

ldloc.1 // o
unbox Point
ldc.i4.4
stfld Point.x
Run Code Online (Sandbox Code Playgroud)

C++ CLI允许的地方.

对于那些不知道是谁,unbox是不是需要创建的副本值类型,而是推的指针值到堆栈.只有分配才能创建副本.

c# il boxing unboxing

5
推荐指数
1
解决办法
3722
查看次数