我想检查一个对象的类型.如果类型完全相同,我只想返回true.继承的类应该返回false.
例如:
class A {}
class B : A {}
B b = new B();
// The next line will return true,
// but I am looking for an expression that returns false here
if(b is A)
Run Code Online (Sandbox Code Playgroud) 我刚刚开始通过C#调整Excel,以便能够自动创建,并添加到Excel文件中.
我可以打开文件并更新其数据并浏览现有的工作表.我的问题是如何添加新表?
我试过了:
Excel.Worksheet newWorksheet;
newWorksheet = (Excel.Worksheet)excelApp.ThisWorkbook.Worksheets.Add(
Type.Missing, Type.Missing, Type.Missing, Type.Missing);
Run Code Online (Sandbox Code Playgroud)
但我得到COM异常,我的谷歌搜索没有给我任何答案.
来自HRESULT的异常:0x800A03EC来源是:"Interop.Excel"
我希望有人能够让我摆脱困境.
我ExcelDataReader用来从C#中的Excel工作簿中读取数据.
但我的Excel工作表的结构使得要读取的数据可以从任何特定单元格开始,而不一定A1.
任何人都可以建议如何使用ExcelDataReader?
我正在尝试使用下面的代码来发送消息System.Net.Mail,有时会得到像'=?utf-8?B?W3AxM25dIEZpbGV...'(修剪过)这样的主题.这是被称为的代码:
MailMessage message = new MailMessage()
{
From = new MailAddress("someone@somewhere.com", "Service"),
BodyEncoding = Encoding.UTF8,
Body = body,
IsBodyHtml = true,
ReplyTo = new MailAddress("do.not.reply@somewhere.com"),
SubjectEncoding = Encoding.UTF8
};
foreach (string emailAddress in addresses)
{
message.To.Add(new MailAddress(emailAddress.Trim(), "Person"));
}
message.Subject = subject;
Run Code Online (Sandbox Code Playgroud)
我想强调,这不会一直发生.
我究竟做错了什么?
使用VBA和Access 2010,我有一个子:
Public Sub setInterest(account As String, dmonth As Integer)
...somecode...
End Sub
Run Code Online (Sandbox Code Playgroud)
我正在呼唤它
setInterest("myAccount",3)
Run Code Online (Sandbox Code Playgroud)
我得到语法错误.
将sub修改为只接受一个参数并省略3不会产生错误,问题是只有当我有2个参数时才会出现问题.
我想在工作线程上执行一些操作,同时向用户显示进度条.我创造了一个班级
public class ProgressBar
{
public void StartAsyncTask(Action action)
{
Task t = new Task(action);
t.start();
}
}
Run Code Online (Sandbox Code Playgroud)
我发现我可以StartAsyncTask通过以下方式发送任何方法:
ProgressBar pb = new ProgressBar();
pb.StartAsyncTask( () => DoSomething(15, "something"));
public void DoSomething(int i, string s)
{
//do something
}
Run Code Online (Sandbox Code Playgroud)
首先,我似乎无法理解lambda表达式是什么以及如何() =>- 已翻译以及Action对象如何传递具有未知数量参数的委托.
我想BackgroundWorker在我的ProgressBar中使用a ,但在这种情况下我需要调用该动作.所以像这样:
void m_backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
Action action = e.Argument as Action; //same action here passed through EventArgs
//but already in a worker thread so no need for …Run Code Online (Sandbox Code Playgroud) 我正在开发一个Web API 2项目.对于身份验证,我使用的是承载令牌.在成功验证后,API返回JSON对象.
{"access_token":"Vn2kwVz...",
"token_type":"bearer",
"expires_in":1209599,
"userName":"username",
".issued":"Sat, 07 Jun 2014 10:43:05 GMT",
".expires":"Sat, 21 Jun 2014 10:43:05 GMT"}
Run Code Online (Sandbox Code Playgroud)
现在我想在这个JSON对象中返回用户角色.为了从JSON响应中获取用户角色,我需要做出哪些更改?
我发现常量字符串表达式的连接由编译器优化为一个字符串.
现在使用只在运行时知道的字符串串联,为什么编译器不会优化循环中的字符串连接和多于10个字符串的串联来StringBuilder.Append代替?我的意思是,这是可能的,对吧?实例化a StringBuilder并进行每个连接并将其转换为Append()呼叫.
是否有任何理由为什么这应该或可以 不进行优化?我错过了什么?
logging exception the code below allows to save the content of an exception in a text file. Here I'm getting only the decription of the error.
but it is not telling me where the exception occured, at which line. Can anyone tell me how can I achive that so I can get even the line number where the exception occured?
#region WriteLogError
/// <summary>
/// Write an error Log in File
/// </summary>
/// <param name="errorMessage"></param>
public void WriteLogError(string errorMessage) …Run Code Online (Sandbox Code Playgroud) 我有2个数据层DLL项目.一个是攻击Oracle表和另一个SQL Server.当在单独的项目中使用时,每个人都可以独立工作.
当我创建一个包含两个DLL的项目时,我在查询Oracle表时收到以下错误:
指定的架构无效.错误:Model.ssdl(2,48):错误0172:
所有SSDL工件必须以同一提供程序为目标.Provider'Oracle.ManagedDataAccess.Client'与之前遇到的'Oracle.ManagedDataAccess.Client'不同.Model.ssdl(2,81):错误0169:所有SSDL工件必须以同一提供程序为目标.ProviderManifestToken'2008'与先前遇到的'11 .2'不同.
疯狂的是,在我的1个项目中包含2个数据层项目,如果我注释掉一个使用SQL Server数据层的函数(即使它此时从未实际调用过),那么它可以工作.不知何故,它的代码存在会导致上述错误.如何混合SQL Server和Oracle实体框架?