如何根据字符串名称实例化一个类?

我有一个抽象类,我想把它推广到一个扩展它的类。 我将子类名称作为字符串。 除此以外… String childClassString; MyAbstractClass myObject; if (childClassString = “myExtenedObjectA”) myObject = new ExtenedObjectA(); if (childClassString = “myExtenedObjectB”) myObject = new ExtenedObjectB(); 我怎样才能做到这一点? 基本上我如何摆脱这里的if语句?

如何保护存储在web.config中的密码?

我在web.config文件中添加了以下设置,以启动对外部系统的API调用。 所以我存储API URL +用户名+密码如下: – 然后在我的action方法中,我将在构建Web客户端时引用这些值,如下所示: – public ActionResult Create(RackJoin rj, FormCollection formValues) { XmlDocument doc = new XmlDocument(); using (var client = new WebClient()) { var query = HttpUtility.ParseQueryString(string.Empty); foreach (string key in formValues) { query[key] = this.Request.Form[key]; } query[“username”] = System.Web.Configuration.WebConfigurationManager.AppSettings[“ApiUserName”]; query[“password”] = System.Web.Configuration.WebConfigurationManager.AppSettings[“ApiPassword”]; string apiurl = System.Web.Configuration.WebConfigurationManager.AppSettings[“ApiURL”]; 但在这一点上,我将公开用户名和密码,这些可以被用户捕获,所以我的问题是如何保护API用户名和密码?

Itextsharp:在一页上调整2个元素

所以,我在使用C#(.NET 4.0 + WinForms)和iTextSharp 5.1.2时遇到了这个问题。 我有一些扫描图像存储在数据库中,需要与这些图像一起构建。 有些文件只有一页,其他有几百页。 这工作正常使用: foreach (var page in pages) { Image pageImage = Image.GetInstance(page.Image); pageImage.ScaleToFit(document.PageSize.Width,document.PageSize.Height); pageImage.Alignment = Image.ALIGN_TOP | Image.ALIGN_CENTER; document.Add(pageImage); document.NewPage(); //… } 问题是: 我需要在最后一页的底部添加一个小表。 我试试: foreach (var page in pages) { Image pageImage = Image.GetInstance(page.Image); pageImage.ScaleToFit(document.PageSize.Width,document.PageSize.Height); pageImage.Alignment = Image.ALIGN_TOP | Image.ALIGN_CENTER; document.Add(pageImage); document.NewPage(); //… } Table t = new […]

模型绑定到列表MVC 4

是否存在将IList项绑定到视图的模式。 我似乎遇到了HttpPost的问题。 我知道菲尔哈克写了一篇很好的文章,但它已经过时了,他说他们可能会修复MVC 4。

如何解决sqlite和c#中的“’”问题?

我正在使用Sqlite在Microsoft Visual C#2008 Express中工作。 我知道我的文本中的一个叛逆者(’)在查询中存在问题。 我的问题是,我认为我可以用\’替换它。 它似乎没有工作……这是我的代码的一个例子: string myString = “I can’t believe it!”; cmd.CommandText = “Insert into myTable (myid,mytext) values (1,'” + myString.Replace(“‘”,”\\'”) + “‘);”; 我得到的错误是:SQLite错误:接近“t”:语法错误 我尝试过其他一些替代品……就像其他的斜线一样。 我将我的字符串和我的字符串的替换版本写入控制台,以确保它正确输出。 我在这里犯了什么愚蠢的错误? 谢谢! -Adeena

使用C#进行MySQL的参数化查询

我有下面的代码(我已经包含了我认为的所有相关部分): private String readCommand = “SELECT LEVEL FROM USERS WHERE VAL_1 = ? AND VAL_@ = ?;”; public bool read(string id) { level = -1; MySqlCommand m = new MySqlCommand(readCommand); m.Parameters.Add(new MySqlParameter(“”, val1)); m.Parameters.Add(new MySqlParameter(“”, val2)); MySqlDataReader r = m.ExecuteReader(); if (r.HasRows) level = Convert.ToInt32(r.GetValue(0).ToString()); r.Close(); return true; } 当我运行它时,我在添加第一个参数时得到IndexOutOfBoundsException。 我做错了什么?

如何在合并时删除空格

我有一些代码需要3个不同的PDF字节数组并合并它们。 这段代码效果很好。 问题(有些人)认为每个PDF都被认为是一个完整的页面(如果打印),即使它上面只有4英寸的内容,因此垂直留下7英寸的空白区域。 然后将中间文档放入其中,并且可以在其末尾处具有或不具有垂直白色空间。 然后页脚也会放在自己的页面上。 这是代码: byte[] Bytes = rv.LocalReport.Render(“PDF”, null, out MimeType, out Encoding, out Extension, out StreamIDs, out Warnings); List MergeSets = // This is filled prior to this code // Append any other pages to this primary letter if (MergeSets.Count > 0) { MemoryStream ms = new MemoryStream(); Document document = new […]

尝试以其访问权限禁止的方式访问套接字

我刚刚下载了C#SDK和ASP.NET MVC示例,修改它以使用4.2.1。 (web config facebookSettings参数等),创建了我的Facebook应用程序并尝试运行它。 点击Facebook登录按钮 – 好吧,输入凭据进入facebook弹出窗口 – 确定,允许访问我的应用程序 – 好的,然后我收到此错误: System.Net.Sockets.SocketException:尝试以其访问权限禁止的方式访问套接字66.220.146.47:443 var app = new FacebookApp(); if (app.Session == null) { // The user isnt logged in to Facebook // send them to the home page return RedirectToAction(“Index”); } // Get the user info from the Graph API dynamic me = app.Api(“/me”); // […]

使用Roslyn查找对方法的所有引用

我正在寻找扫描一组.cs文件,以查看哪些调用Nullable的Value属性(查找所有引用)。 例如,这将匹配: class Program { static void Main() { int? nullable = 123; int value = nullable.Value; } } 我发现了Roslyn并查看了一些样本,但其中许多已经过时且API非常庞大。 我该怎么做呢? 解析语法树后我陷入了困境。 这是我到目前为止: public static void Analyze(string sourceCode) { var tree = CSharpSyntaxTree.ParseText(sourceCode); tree./* ??? What goes here? */ }

运行提升过程

我正在尝试使用以下代码运行cmd命令: ProcessStartInfo cmd = new ProcessStartInfo(“cmd.exe”); cmd.RedirectStandardInput = true; cmd.RedirectStandardOutput = true; cmd.RedirectStandardError = true; cmd.UseShellExecute = false; cmd.CreateNoWindow = true; cmd.WindowStyle = ProcessWindowStyle.Hidden; Process exec = Process.Start(cmd); exec.StandardInput.WriteLine(“sc create \”BaliService\” binPath= \”{0}\\BaliService.exe\””, Directory.GetCurrentDirectory()); 此命令需要管理员privelages,如果我以管理员身份运行cmd并键入命令它完美运行但不是当我以管理员身份运行此应用程序时。 我已经添加了 每次打开exe时提示uac的清单文件。 我已经看到了关于此的多个问题,他们似乎都建议在提升的应用程序下运行的任何进程将拥有相同的权限,但这对我不起作用。 我试过cmd.Verb = “runas”; 但没有骰子。