我有一个dll包含许多都继承自CommandBase类的类.我正在尝试使用C#中的反射来获取所有这些类(CommandA,CommandB,CommandC等)的实例,以便我可以在每个类上调用特定方法.这是我到目前为止:
//get assemblies in directory.
string folder = Path.Combine(HttpContext.Current.Server.MapPath("~/"), "bin");
var files = Directory.GetFiles(folder, "*.dll");
//load each assembly.
foreach (string file in files)
{
var assembly = Assembly.LoadFile(file);
if (assembly.FullName == "MyCommandProject")
{
foreach (var type in assembly.GetTypes())
{
if (!type.IsClass || type.IsNotPublic) continue;
if(type is CommandBase)
{
var command = Activator.CreateInstance(type) as CommandBase;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我有2个问题.第一个问题是"if(type is CommandBase")行给出以下警告:
给定的表达式永远不是提供的类型CommandBase.
第二个问题是我无法弄清楚如何获取实际对象的实例(CommandA,CommandB等...),仅将其转换为CommandBase是不够的.
我可能想要太多,但我的情景是
public dynamic CreateConfigObject(JobConfigurationModel config) {
dynamic configObject = new { };
configObject.Git = new GitCheckout {
Repository = config.Github.Url
};
return configObject;
}
Run Code Online (Sandbox Code Playgroud)
当然,它失败了,configObject.Git因为这个属性不存在.我希望能够在运行时添加任意数量的属性,而不需要预先知道属性的数量和名称;
这种情况在C#中是否可能,或者我的JavaScript想象力开始伤害我?:)
我想连接到公共Facebook页面或组,并在个人网站上列出墙上的所有条目.我将在我的服务器上使用PHP,这对我来说是最好的解决方案.或者javascript.
任何人都可以解释或者提供一个如何做到这一点的工作代码?或者只是为了制作这个所有的步骤?
如果它可以处理每个帖子的人,日期,描述......的信息,那将是伟大的!所以我的布局可以定制.
谢谢你帮助我!
为什么这会返回False
public enum Directions { Up, Down, Left, Right }
static void Main(string[] args)
{
bool matches = IsOneOf(Directions.Right, Directions.Left, Directions.Right);
Console.WriteLine(matches);
Console.Read();
}
public static bool IsOneOf(Enum self, params Enum[] values)
{
foreach (var value in values)
if (self == value)
return true;
return false;
}
Run Code Online (Sandbox Code Playgroud)
这会返回True吗?
public static bool IsOneOf(Enum self, params Enum[] values)
{
foreach (var value in values)
if (self.Equals(value))
return true;
return false;
}
Run Code Online (Sandbox Code Playgroud) 我在向jQuery UI的按钮组添加图标时遇到了麻烦.向按钮添加图标工作正常.有没有人有这个工作的例子
谢谢
标记
<div id="radio" class='demo'>
<input type="radio" id="radio1" name="radio" /><label for="radio1">Top 10 FAQ's</label>
<input type="radio" id="radio2" name="radio" /><label for="radio2">Last 30 Days</label>
</div>
Run Code Online (Sandbox Code Playgroud)
脚本
$("#radio").buttonset({ icons: { primary: 'ui-icon-triangle-1-ne'} });
Run Code Online (Sandbox Code Playgroud) 假设我有一台运行在Linux上的服务器,我想在其上开发软件(主要是OCaml,C/C++和Java).
有没有办法"远程开发"这些东西?我的意思是一个允许我远程修改文件的IDE(然后在修改和保存时上传它们)并通过SSH编译(基本上是调用make或omake).
我正在寻找能让这个过程对开发人员透明的东西,而不用手工做事.我习惯使用Eclipse,所以我想知道是否存在实现此功能的插件或是否还有其他选择?
请注意,本地机器可能无法构建我打算使用的软件(例如OCaml),因此它应该仅依赖于远程连接.
提前致谢
我想覆盖C#中的List对象,以便添加像Sum或Average这样的Median方法.我已经找到了这个功能:
public static decimal GetMedian(int[] array)
{
int[] tempArray = array;
int count = tempArray.Length;
Array.Sort(tempArray);
decimal medianValue = 0;
if (count % 2 == 0)
{
// count is even, need to get the middle two elements, add them together, then divide by 2
int middleElement1 = tempArray[(count / 2) - 1];
int middleElement2 = tempArray[(count / 2)];
medianValue = (middleElement1 + middleElement2) / 2;
}
else
{
// count is odd, simply get the middle element.
medianValue = …Run Code Online (Sandbox Code Playgroud) Steve Yegge 在他的博客文章中描述了属性模式.
对于使用C#或Java等静态语言的人来说,这种方法有哪些优点和缺点?在什么样的项目中你想要使用属性模式,什么时候你想避免它?
我可以直观地映射1:1(一对一)表,如下所示:

但我无法理解如何在表和VIEW之间进行相同的映射,就像这样

在该图中,表示了两个实体.如果我在实体模型中手动创建关联,并设置其映射,如下所示:

然后我得到错误:
错误3021:从第172行开始映射片段中的问题:表view_EmployeeView中的以下每列都映射到多个概念侧属性:view_EmployeeView.EmployeeID映射到Employeesview_EmployeeView.Employees.id,Employeesview_EmployeeView.view_EmployeeView.EmployeeID
为什么我不会在表 - 表关联中得到这个错误?我该如何解决这个问题?我想在视图中放置一些计算信息,但在我需要.Include()函数时显式加入它.