例如,我可以做类似的事情:
switch (myString)
case "rectangle":
o = new rect();
break;
case "ellipse"
etc...
Run Code Online (Sandbox Code Playgroud)
但是我怎么不做上面的事情,即只有一行代码直接从字符串中获取对象.想象一下,例如,一个按钮以及用户点击它时所说的任何内容,它会显示所显示的文本并从中创建一个对象.
好的,我在网上看了很多,但找不到答案.
我可以期待浏览器之间的CSS差异,但也存在JavaScript差异?
那么为什么这在IE8中有效:
window.print(); // works
Run Code Online (Sandbox Code Playgroud)
但是当我传递window.print给函数并调用它时,它在IE8中不起作用(在IE9中工作):
function callIt(f){
f.call();
};
callIt(window.print);
Run Code Online (Sandbox Code Playgroud)
这是一个已知的问题吗?
好吧它不起作用意味着它会简单地忽略它,没有javascript错误或任何东西.
抱歉,它出现此错误:
Object doesn't support this property or method
Run Code Online (Sandbox Code Playgroud)
我需要使用call或apply因为我需要传递上下文.我正在尝试创建一个可以传递函数的类,它可以调用它来传递上下文或参数.不要告诉我使用f() 这不是一个答案,因为它不能解决我的问题.问题是call和apply.
我正在尝试从我的Android客户端发送一个json字符串到我的.net Rest服务...任何人都可以帮我解决这个问题吗?
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://myURL");
JSONObject json = new JSONObject();
json.put("name", "i am sample");
StringEntity str = new StringEntity(json.toString());
str.setContentType("application/json; charset=utf-8");
str.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,"application/json; charset=utf-8"));
post.setEntity(str);
HttpResponse response = client.execute(post);
Run Code Online (Sandbox Code Playgroud)
响应是不好的要求.我发送json对象作为字符串?这段代码是否正确?
是否有可能动态声明一个类?是否有可能在C#中使用匿名类创建通用列表?任何代码片段都会有所帮助.谢谢
脚本
我有一个父/子模型(确切地说是一个小问卷表格和一个或多个联系人).由于历史原因,所有这些都是在同一个表单上完成的,因此用户可以拥有父表单和一个孩子的表单,他们会点击一个按钮来添加更多的孩子.孩子有一些标准的领域和父母一样,没什么特别的.主要要求是数据必须不会触及数据库,直到所有数据都有效并设置,而我必须返回服务器以添加删除子项.
履行
在ASP.NET MVC(使用MVC 2和VS 2010)中使用它非常快.我有两个模型,一个用于父母,一个用于孩子,只有一个控制器.Controller有一个Create方法,它是一个get默认视图,带有一个包含一个孩子的全新父母.我使用编辑器模板为儿童模型很好地工作.
我有一个HTML表单,其中包含"保存"和"添加子",每个表单都有"删除"按钮.由于这不能存储在数据库中,我将临时模型存储在表单本身中,它在浏览器和服务器之间来回传递.Perfromance在这里不是一个问题,但开发成本因为有很多这样的形式 - 所以请不要因为建议替代方法而分散太多,尽管我还是赞赏评论.
为了找出要删除的子项,我创建了临时GUID ID并将它们与子项关联起来.这将转到HTML输入的删除按钮值(当你有多个动作和相同的表格时通常的技巧).
我禁用了缓存.
问题
请看下面的片段.我已经调试了代码,我看到总是正确的GUID被传递,正确的项目从控制器的列表中删除,并更正在模板中呈现的项目.但总是最后一个删除!我经常点击第一次删除,可以看到最后一次删除.我继续,第一项是最后被删除.
调节器
public ActionResult Create()
{
EntryForm1 entryForm1 = new EntryForm1();
entryForm1.Children.Add(new Child("FILL ME", "FILL ME"){ TempId = Guid.NewGuid()});
return View("EntryForm1View", entryForm1);
}
[HttpPost]
public ActionResult Create(EntryForm1 form1, FormCollection collection, string add)
{
if (add == "add")
form1.Children.Add(new Child("FILL ME", "FILL ME") {TempId = Guid.NewGuid()});
var deletes = collection.AllKeys.Where(s => s.StartsWith("delete_"));
collection.Clear();
if (deletes.Count() > 0)
{
string …Run Code Online (Sandbox Code Playgroud) 我已经决定使用MEF作为我拥有的插件模式,并且发现MEF易于拾取而且根本没有侵入性.我查看了样品,发现它们非常容易使用.
然而,一旦开始实施,我开始苦苦于构图.假设我有一个属于其中[ImportMany]一个属性的类.我看到的所有例子中,他们在具有导入的类中创建了Container(让我们称之为可组合的),并且基本上该类组成了自己.对于一个例子来说这可能是好的,但是确定地知道插件如何被填充对于组合物来说知道太多了.
我可以愉快地创建一个单例容器并在我的可编组中访问它,但是另外,composable必须显式调用Compose()自己,我不满意,因为它就像一个依赖注入场景,类主动调用Resolve()容器.所以,我并不想用它只是服务地点.
为了使事情变得更糟,我也使用温莎城堡进行DI,我不确定MEF和Windsor如何一起工作.
我真的环顾四周,无法找到任何有关如何正确做MEF的指导和示例.现在可能是我没有环顾四周或者我不太了解MEF(这是真的)但是会从实际在现实世界中使用它的经验中重视你的观点.
我创建了一个C#windows服务,应该发送一些电子邮件,但是当我启动服务时,我收到消息'本地服务开始然后停止'......'如果他们没有工作可以自动停止某些服务'
为什么会这样?
namespace EmailService
{
public partial class EmailService : ServiceBase
{
private System.Timers.Timer _timer = null;
private DateTime _lastRun = DateTime.Now;
private int _timerIntervalValue;
public EmailService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
if (string.IsNullOrEmpty(ConfigurationManager.AppSettings["Timer"]))
{
throw new Exception("The timer value is not set in the app.config.");
}
else
{
_timerIntervalValue = Convert.ToInt32(ConfigurationManager.AppSettings["Timer"]);
}
_timer = new System.Timers.Timer(_timerIntervalValue);
_timer.Elapsed += OnTimedEvent;
_timer.Interval = Convert.ToInt32(_timerIntervalValue);
_timer.Enabled = true;
}
protected override void OnStop()
{
_timer.Stop();
_timer.Dispose();
}
private …Run Code Online (Sandbox Code Playgroud) 刚刚开始我的第一个WCF休息项目,并希望获得有关使用REST的最佳实践的一些帮助.
我已经看过很多教程,并且似乎有很多方法可以做某些事情......例如,如果做一个POST,我已经看过一些设置HttpStatusCodes(OK/Errors等)的教程,以及其他教程.只是返回包含操作结果的字符串.
在一天结束时,有4个操作,当然必须有一个指南,说明如果你正在做GET,这样做,等等和POST,这样做...
任何帮助,将不胜感激.
JD
[AttributeUsage(AttributeTargets.Method,AllowMultiple=true)]
public class MethodId : Attribute
{
private int mId;
public MethodId(int mId)
{
this.mId = mId;
}
public int methodId
{
get { return this.mId; }
set { this.mId = value; }
}
}
Run Code Online (Sandbox Code Playgroud)
public class Methods
{
[MethodId(1)]
public void square()
{ }
[MethodId(2)]
public void Notify()
{ }
}
Run Code Online (Sandbox Code Playgroud)
如何在MethodId的帮助下访问main()或任何其他类中的square()?
我有一个WCF服务,我希望将一些文件从服务器传输到客户端.
当我硬编码文件的文件名以流入代码时,我已经有了这个工作.
我正在尝试更改代码,以便getStream方法返回一个Dictionary,这样我就可以返回文件名集合和与文件名关联的流,然后在客户端处理每个流.
在尝试调用getStream方法时,我在客户端获得以下异常:接收到http:// localhost:8082 /的HTTP响应时发生错误.这可能是由于服务端点绑定不使用HTTP协议.这也可能是由于服务器中止HTTP请求上下文(可能是由于服务关闭).请参阅服务器日志以获取更多详
在网上研究这个之后,看起来这是一个错误的异常所以我打开了跟踪,这是来自跟踪日志的异常消息:
尝试序列化参数http://tempuri.org/:GetStreamResult时出错.InnerException消息是'Type'System.IO.FileStream',数据协定名称为'FileStream:http://schemas.datacontract.org/2004/07/System.IO'不是预期的.考虑使用DataContractResolver或将任何静态未知的类型添加到已知类型列表中 - 例如,通过使用KnownTypeAttribute属性或将它们添加到传递给DataContractSerializer的已知类型列表中.有关更多详细信息,请参阅InnerException.
这是服务器端代码:
public Dictionary<String, Stream> GetStream()
{
Dictionary<String, Stream> retDic = new Dictionary<string, Stream>();
string[] fileEntries = Directory.GetFiles(@"C:\Users\Ash\Desktop\FrontendPluginsServer");
foreach (string fileName in fileEntries)
{
//do something with fileName
retDic.Add(fileName, File.OpenRead(fileName));
}
//return File.OpenRead(@"C:\Users\Ash\Desktop\FrontendPluginsServer\OptekImporterFrontend.dll");
return retDic;
}
Run Code Online (Sandbox Code Playgroud)
这是客户端代码:
ModuleDownloader.ModuleDownloaderClient moo = new ModuleDownloader.ModuleDownloaderClient();
Dictionary<String, Stream> dic = moo.GetStream();
foreach (String key in dic.Keys)
{
using (Stream file = File.OpenWrite(@"C:\Users\Ash\Desktop\FrontEndPluginsClient\" + key)) { CopyStream(dic[key], file); }
}
Run Code Online (Sandbox Code Playgroud)
如果您需要更多信息,请告诉我.
亲切的问候 …
c# ×7
.net ×5
wcf ×2
android ×1
apply ×1
asp.net-mvc ×1
c#-4.0 ×1
call ×1
factory ×1
invoke ×1
javascript ×1
mef ×1
oop ×1
printing ×1
properties ×1
reflection ×1
rest ×1
web-services ×1
window ×1