我今天试图做一些常规测试,并且Assembly.GetTypes()当我偶然发现某事时,将所有类型都放入一个程序集中(通过调用):
System.RuntimeType:[First.Namespace.FirstClass]
Run Code Online (Sandbox Code Playgroud)
每当我尝试比较那种类型时typeof(FirstClass),它们就不相同.所以,当我试图找到包含FirstClass作为通用参数的所有类型时,我找不到任何类型.
System.RuntimeType和之间有什么区别System.Type?
有什么方法可以解决我的问题吗?
在Ruby和PHP(我猜其他语言)中,只要设置了属性,就会调用一些实用程序方法.(*instance_variable_set*表示Ruby,*__ set*表示PHP).
所以,假设我有一个像这样的C#类:
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
现在,假设如果Person调用类中的任何属性设置器,我想先调用另一个方法,然后继续使用setter的默认行为,这同样适用于属性setter.
这可能吗?
编辑: 我想在不定义支持字段的情况下执行此操作.
有一个古老而明智的说法是"价值构成优于继承".我一直在努力将这个以及其他OOP和设计模式应用到我参与的最后几个项目中.
对于大多数情况,它工作得很好,看起来很正确.但是我注意到有些时候,只有2或3个类真正发挥出最佳效果,而其他10个类突然变成了一些简单的委托者,并且细节变化很小.
有时,我尝试通过使用具有不变细节的抽象类来解决这个问题,这些细节将不同的细节委托给具体的实现,但有些事情并不完全正确.
你如何保持这种平衡并同时遵循旧的明智的说法?难道我做错了什么?
我在c#中创建了一个函数:
public void input_fields(int init_xcor, int init_ycor, char init_pos, string input)
{
char curr_position = 'n';
foreach (char c in input)
{
if (c == 'm')
{
Move mv = new Move();
if (curr_position == 'e' || curr_position == 'w')
{
init_xcor = mv.Move_Step(curr_position, init_xcor, init_ycor);
}
else
{
init_ycor = mv.Move_Step(curr_position, init_xcor, init_ycor);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我把这个函数称为:
input_fields(init_xcor, init_ycor, init_pos, input);
Run Code Online (Sandbox Code Playgroud)
但是在调用它时会出错:
非静态字段,方法或属性'TestProject.Program.input_fields(int,int,char,string)'xxx\TestProject\Program.cs需要对象引用23 17 TestProject
我不想让函数静态,因为我还要进行单元测试..
我该怎么办?...请帮帮我.
我目前正在使用Ruby on Rails开展一个项目.我需要CMS和多语言集成.截至目前,我需要以英语和西班牙语显示该网站.
是否有任何Ruby on Rails CMS可以轻松处理这个问题?如果没有,你会推荐哪个Ruby on Rails CMS允许这个实现.
ruby ruby-on-rails content-management-system ruby-on-rails-3
我是.NET和LINQ to SQL的新手.
到目前为止,我一直在提取数据并填充gridview,一切正常.
但是,当我构建我的第二页时,我创建了一个新的DataContext(我假设每页使用一个)当我引用我在上一页中使用的表时,它给了我一个"不明确的引用"错误,因为我有我的表两个DataContexts.从第二个表中删除表后,我可以引用第一个表.
那么,我应该只为我的整个应用程序设置一个上下文,还是为每个表设置一个 也许介于两者之间我把大多数人在同一个环境中一起使用的表放在哪里?
什么是最佳做法?
c# ×3
asp.net ×1
composition ×1
interceptor ×1
linq-to-sql ×1
object ×1
oop ×1
reference ×1
reflection ×1
ruby ×1