我如何最容易地首先缩放一个对象,比如当前大小的2倍,然后垂直和水平翻转,或两者兼而有之?
到目前为止,我可以将"scale(2,2)"设置为它的宽度和高度的2倍,但是我不能将其翻转为与垂直翻转的比例(-1,1)相同.
我正在以编程方式创建SVG对象,作为要导出的格式.
如果我有一个基类,只有基类的虚方法和2个派生类,那么实现了这些虚方法.
我如何能:
// causes C2259
BaseClass* base = new BaseClass[2];
BaseClass[0] = new FirstDerivedClass;
BaseClass[1] = new SecondDerivedClass;
Run Code Online (Sandbox Code Playgroud)
要么:
// causes "base is being used without being initialized"
BaseClass* base;
// causes CC59 again
BaseClass* base = new BaseClass;
base[0] = FirstDerivedClass();
base[1] = SecondDerivedClass();
Run Code Online (Sandbox Code Playgroud)
(或类似的东西)
...所以我可以BaseClass通过它访问s方法DerivedClass,但是通过指针和指针是一个DerivedClasss 的数组?
如何使用"代码"创建一个新的.mdf/.sdf数据库?
我试过这个:http: //support.microsoft.com/kb/307283
它只是在ConnectionString上失败了.由于我在创建之前没有连接到存在的文件,我怎么才能只创建一个mdf/sdf数据库来连接到SQL Express Server?
我希望能够只连接到服务器并创建文件,从那里可能更容易创建表等.
有什么建议?
我目前正在使用Generics来制作一些动态方法,比如创建一个对象并用值填充属性.
有没有办法在不知道类型的情况下"动态"创建Generic?例如:
List<String> = new List<String>()
Run Code Online (Sandbox Code Playgroud)
是一种预先确定的方式,但是
List<(object.GetType())> = new List<(object.GetType()>()
Run Code Online (Sandbox Code Playgroud)
不行......但是可以吗?
这不起作用(有类似的方法吗?)
public T CreateObject<T>(Hashtable values)
{
// If it has parameterless constructor (I check this beforehand)
T obj = (T)Activator.CreateInstance(typeof(T));
foreach (System.Reflection.PropertyInfo p in typeof(T).GetProperties())
{
// Specifically this doesn't work
var propertyValue = (p.PropertyType)values[p.Name];
// Should work if T2 is generic
// var propertyValue = (T2)values[p.Name];
obj.GetType().GetProperty(p.Name).SetValue(obj, propertyValue, null);
}
}
Run Code Online (Sandbox Code Playgroud)
那么,简而言之:如何在不使用泛型的情况下采用"类型"并从中创建对象?到目前为止,我只在方法中使用了泛型,但是可以在变量上使用相同的方法吗?我必须在方法之前定义Generic(T),所以我可以在"创建"它们之前对变量做同样的事情吗?
...或者如何使用"Activator"创建一个带有Properties而不是Parameters的对象.就像你在这里一样:
//使用参数值
Test t = new Test("Argument1", Argument2);
Run Code Online (Sandbox Code Playgroud)
//使用属性
Test t = new Test { …Run Code Online (Sandbox Code Playgroud) 我已经进行了大约5个小时了,尝试在Google上找到的每个例子都有serach术语"xml xslt计算日期之间的天数"我可以找到从"date.xml"文件中取两个日期并以"YYYY-MM-DD"格式计算日期之间的天数(以下示例没有此格式,但这是我需要的唯一格式)
我终于找到了这个页面:: https://forums.oracle.com/thread/2432132
可在以下位置验证解决方案:http://xslttest.appspot.com/
但是,在localhost上保存"date.xml/date.xslt"试图在Internet Explorer,谷歌浏览器或Firefox中打开页面要么显示错误,要么根本没有显示错误,因为它似乎总是 - 没有任何信息是错误的.当文件在Web服务器上时也会发生同样的情况.
那么,为什么我不能尝试一个简单的例子,我发现每个人都说有解决方案或我做错了什么?
上面示例中的XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="date.xslt"?>
<root>
<date1>2012-01-11T00:00:00.000-05:00</date1>
<date2>2012-01-15T00:00:00.000-05:00</date2>
</root>
Run Code Online (Sandbox Code Playgroud)
上面例子中的XSLT文件:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions">
<xsl:template match="/">
<xsl:variable name="date1" select="xs:dateTime(/root/date1)"/>
<xsl:variable name="date2" select="xs:dateTime(/root/date2)"/>
<xsl:value-of select="fn:days-from-duration($date2 - $date1)"/>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
将此添加到XSLT验证程序,它会在这两个日期之间显示正确的值"4"天.
我希望能够创建一个实际上可以进行计算的文档,无论它们是日期还是数字,但此时似乎是不可能的.获取日期数,然后使用该值进行一些计算.
我必须使用什么来获得此刻在键盘上按下的"所有键"?因为Form.KeyPress += new EventHandler()当它充满控制时根本没有做太多.无论我做什么,它都不会调用它,KeyDown,KeyUp或其他任何东西......是的,我知道如何使用它们.
因此,如果系统中有任何函数可以检查按下的键,那么它将返回所使用的键的数组或者其他内容 - 我将非常感谢指向正确的方向.
在我的main函数中,我创建了一个特定类"Menu"的对象数组
当我调用一个函数时,我想提供一个指向该数组的指针.
Menu menu[2];
// Create menu [0], [1]
Function(POINTER_TO_ARRAY);
Run Code Online (Sandbox Code Playgroud)
问题:编写Function参数的正确方法是什么?
我尝试:
Function(&menu);
Run Code Online (Sandbox Code Playgroud)
并在头文件中:
void Function(Menu *menu[]); // not working
error: Cannot convert parameter 1 from Menu(*)[2] to Menu *[]
void Function(Menu * menu); // not working
error: Cannot convert parameter 1 from Menu(*)[2] to Menu *[]
Run Code Online (Sandbox Code Playgroud)
我无法想出任何其他方法来做到这一点,我无法找到解决这一特定问题的方法.
简单地说,我希望能够通过指针访问函数内的Menu数组.指向数组指针的普通指针有什么区别?
.NET Core和.NET Framework之间的 CultureInfo 似乎存在一些差异。这有什么理由吗?
例子:
var italian = CultureInfo.GetCultureInfo("it").TextInfo.CultureName;
Run Code Online (Sandbox Code Playgroud)
在.NET Core上解析为:
it
Run Code Online (Sandbox Code Playgroud)
虽然它之前在.NET Framework上解析为:
it-IT
Run Code Online (Sandbox Code Playgroud)
这会破坏一些单元测试。在两个干净的控制台项目中运行它会产生不同的结果。尝试从 Nuget 添加 System.Globalization,结果没有任何差异。
是否需要一些配置才能使其相同,或者它们是否完全破坏了 CultureInfo?
我试图绕过头:
http://msdn.microsoft.com/en-us/library/bb196409.aspx
并且参考不多.它简短,模糊,你可以从中学到什么.
我想创建一个方法,它采用Triangle =(一个3个向量的类)的列表,并渲染它,然后能够用颜色或纹理填充它.
有人能解释一下上面提到的方法吗?因为我正在尝试的是不起作用.我试过添加一个三角形.我在下面的理解,请纠正我错在哪里.
创建"一个三角形"时的方法:
GraphicsDevice.DrawUserIndexedPrimitives<VertexPositionColor>
(
PrimitiveType.TriangleStrip,
"array of 3 VertexPositionColor?",
0,
(3? 9?),
"I have no clue what to put here and why I should put it here?",
"What do I put here?",
"If 1 triangle, value should be = 1? 1 Triangle = 1 Primitive"
);
Run Code Online (Sandbox Code Playgroud)
我需要做什么才能做到这一点?根据我传递给我的方法的三角形数量,我是否渲染以及哪些值会根据有多少个三角形而改变?
...如果成功(希望有时候)我该如何填写?
请,没有模糊的简短答案,因为参考文献非常好.
我有一个指向类的指针,它有一个指向多维数组的指针但我似乎无法在需要时将其从内存中删除或将其设置为NULL.
#define X 10
#define Y 10
struct TestClass
{
public:
int *pArray[X][Y];
};
// different tries, none working:
delete Pointer_To_TestClass->pArray[0][0];
delete[] Pointer_To_TestClass->pArray[0][0]
// or by simply:
Pointer_To_TestClass->pArray[0][0] = NULL;
Run Code Online (Sandbox Code Playgroud)
我知道数组有数据,因为我可以在屏幕上看到结果.还检查它是否已经为NULL,然后不尝试删除它.
因为我想删除另一个指针中的指针 - 这是一个特殊情况,它的工作方式不同吗?就像它删除第一个指针而不是指针内的指针(pArray是第二个指针,Pointer_To_Testclass是第一个指针)
UPDATE /解释
我希望能够删除pArray [0] [0],而pArray [0] [1]仍然存在,如果[0] [0]不存在,它应该等于NULL.大多数是因为我想通过[X] [Y]值访问此数组以便于访问.如果[0] [0]是一个指针,它在删除时应为NULL,所以我可以检查它是否为NULL.
有人有什么想法吗?